字符串拆分并获取第一次和最后一次出现
String split and get first and last occurrences
我有一长串ISO日期:
var str = "'2012-11-10T00:00:00.000Z', '2012-11-11T00:00:00.000Z', **** '2013-11-12T00:00:00.000Z'";
我只需要得到第一次和最后一次约会。我可以做
var vStr = str.split(',');
vStr[0] and vStr[vStr.length - 1]
但这是浪费记忆,因为我只需要第一次和最后一次。想法?谢谢
如果你真的从大数组中得到了性能问题(不要过早优化),你可以使用slice
来提取单个字符串,使用indexOf
/lastIndexOf
来找到它们的位置:
str.slice(0, str.indexOf(','))
and
str.slice(str.lastIndexOf(',')+1) // 1==','.length
这真的不是浪费空间,因为Javascript几乎不会占用计算机上的任何内存。除非字符串是千兆字节长,否则我不会担心。要获得第一个和最后一个,只需这样做:
arr=str.split(',');
var first=arr.shift(); //or arr[arr.length-1];
var last=arr.pop(); //or arr[0];
我有一长串ISO日期
假设这些都使用时区Z
、年份>= 0
,并且以相同的方式分隔和引用,则您甚至不必搜索,
,因为它们的长度相同。
var first = str.slice(1, 25),
last = str.slice(-25, -1);
使用substr
/substring
的jsperf
是最理想的方式。参见:
https://jsperf.com/slice-vs-substr-vs-substring-vs-split-vs-regexp
相关文章:
- 在单击事件中,第一次单击时激发代码一次,其余代码在所有单击时运行
- Javascript匹配以从URL中删除部分文件名-替换最后一次出现的内容
- 正在查找最后一次出现的文本
- JavaScript只有在最后一次被调用时才运行函数
- 字符串拆分并获取第一次和最后一次出现
- 当第一次砌筑'项目'将所有剩余项隐藏在一列中
- Regex-从第二次出现到最后一次出现
- 如果screen.width<=480,只有一次;第一次通过移动设备见面
- 我如何可以忽略以前的选择,只写最后一次选择
- 异步mongodb更新循环中最后一次迭代后的重定向
- 链接超时会导致最后一次超时被拒绝
- 变量在循环的最后一次迭代中变为未定义
- 将匹配字符串中最后一次出现的点的正则表达式
- 删除/隐藏链接后最后一次出现的字符串
- 如何获取单击元素的类值,并使用此值在 jquery 中最后一次出现此类之后放置一段 html 代码
- 如何在最后一次出现某个字符后获取 url 中的参数
- Javascript获取数组中重复元素第一次和最后一次出现的索引
- Javascript-onchange函数只在html select中工作一次(第一次更改后)
- 仅匹配第一次和最后一次出现-JavaScript
- 为什么我必须点击Div两次第一次