如何在NodeJS中拆分和修改字符串
How to split and modify a string in NodeJS?
我有一个字符串:
var str = "123, 124, 234,252";
我想解析拆分后的每个项并增加1。写入:
var arr = [124, 125, 235, 253 ];
我如何在NodeJS中做到这一点?
使用split
和map
函数:
var str = "123, 124, 234,252";
var arr = str.split(",");
arr = arr.map(function (val) { return +val + 1; });
注意+val
- string被强制转换为数字
或短:
var str = "123, 124, 234,252";
var arr = str.split(",").map(function (val) { return +val + 1; });
编辑2015.07.29
今天我建议反对使用+
操作符将变量转换为数字。相反,我会使用更显式但也更易读的Number
调用:
var str = "123, 124, 234,252";
var arr = str.split(",").map(function (val) {
return Number(val) + 1;
});
console.log(arr);
编辑2017.03.09
ECMAScript 2015引入了箭头函数,因此可以使用它来使代码更简洁:var str = "123, 124, 234,252";
var arr = str.split(",").map(val => Number(val) + 1);
console.log(arr);
var str = "123, 124, 234,252";
var arr = str.split(",");
for(var i=0;i<arr.length;i++) {
arr[i] = ++arr[i];
}
如果您正在使用lodash,并且想要使用过于可爱的一行代码:
_.map(_.words('123, 124, 234,252'), _.add.bind(1, 1));
由于lodash强大的解析能力,它非常健壮。
如果你想要一个也将清除非数字字符的字符串(并且更容易遵循…而且不太做作):
_.chain('123, 124, 234,252, n301')
.replace(/[^'d,]/g, '')
.words()
.map(_.partial(_.add, 1))
.value();
2017编辑:
我不再推荐我以前的解决方案。除了过度使用并且无需第三方库就可以轻松完成之外,它还使用了_。连锁店,它有各种各样的问题。下面是我现在要推荐的解决方案:
const str = '123, 124, 234,252';
const arr = str.split(',').map(n => parseInt(n, 10) + 1);
我以前的答案仍然是正确的,所以我把它留作记录,但现在没有必要使用它。
相关文章:
- 使用Regex修改字符串
- 修改表单提交字符串
- 如何以良好的性能更新修改后的字符串
- Javascript-修改函数或从字符串中计算函数
- JS中的字符串修改问题
- 修改字符串末尾的整数
- 遍历 Javascript 正则表达式匹配以修改原始字符串
- Javascript + 修改字符串
- Javascript:修改字符串's[[PrimitiveValue]]使用“;这个“;
- 如何修改字符串,使Javascript中的每个字符之间只有一个空格
- 修改字符串中的for循环
- 通过替换来修改字符串
- 使用javascript修改字符串路径
- 使用javascript修改字符串
- 修改字符串数组,使其在targeting中用作id
- 使用.split()取出并修改字符串的某些部分,以不同的方式修改和显示它们
- 在JavaScript中修改字符串
- 如何修改字符串内部字符,Javascript正则表达式
- 如何在NodeJS中拆分和修改字符串
- 闭包编译器正在修改字符串中的尾括号