字符串拆分并获取第一次和最后一次出现
问题描述:
我有一长串ISO日期:
I have a long string of ISO dates:
var str = "'2012-11-10T00:00:00.000Z', '2012-11-11T00:00:00.000Z', **** '2013-11-12T00:00:00.000Z'";
我只需要获取第一个和最后一个日期。我能做到
I need to get the first and last dates only. I could do
var vStr = str.split(',');
vStr[0] and vStr[vStr.length - 1]
但这是浪费记忆,因为我只需要第一次和最后一次出现。想法?谢谢。
But it's a waste memory, because I only need the first and last occurrences. Ideas? Thanks.
答
如果你真的从大型阵列中遇到性能问题(不要'过早优化),您可以使用 slice
提取单个字符串和 indexOf
/ lastIndexOf
找到他们的职位:
If you're really getting a performance problem from the large array (dont' optimize prematurely), you could use slice
to extract the single strings and indexOf
/lastIndexOf
to find their positions:
str.slice(0, str.indexOf(','))
and
str.slice(str.lastIndexOf(',')+1) // 1==','.length