我有一个字符串:
var str = "123, 124, 234,252";
字符串我想解析拆分后的每一项,并递增1。所以我将有:
var arr = [124, 125, 235, 253 ];
型如何在NodeJS中做到这一点?
aor9mmx11#
使用split和map函数:
split
map
var str = "123, 124, 234,252"; var arr = str.split(","); arr = arr.map(function (val) { return +val + 1; });
字符串注意+val- string被转换为一个数字。或更短:
+val
var str = "123, 124, 234,252"; var arr = str.split(",").map(function (val) { return +val + 1; });
型
今天,我建议反对使用+运算符将变量转换为数字。相反,我会使用一个更显式但也更可读的Number调用:
+
Number
var str = "123, 124, 234,252"; var arr = str.split(",").map(function (val) { return Number(val) + 1; }); console.log(arr);
ECMAScript 2015引入了 arrow function,因此可以使用它来使代码更加简洁:
var str = "123, 124, 234,252"; var arr = str.split(",").map(val => Number(val) + 1); console.log(arr);
siv3szwd2#
var str = "123, 124, 234,252"; var arr = str.split(","); for(var i=0;i<arr.length;i++) { arr[i] = ++arr[i]; }
字符串
s8vozzvw3#
如果你正在使用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();
我不再推荐我以前的解决方案。除了矫枉过正,已经很容易做没有第三方库,它利用_.chain,其中has a variety of issues。这是我现在推荐的解决方案:
const str = '123, 124, 234,252'; const arr = str.split(',').map(n => parseInt(n, 10) + 1);
型我以前的答案仍然是正确的,所以我将把它留作记录,但现在没有必要使用它。
uelo1irk4#
你可以使用正则表达式来筛选字符串
var str = "123, 124, 234,252"; var regex = /\,\s*/ var arr = str.split(regex).map(d => (+d) + 1) console.log(arr) // Output [124, 125, 235, 253]
字符串你可能想要matches数字,所以:
matches
var str = "123, 124, 234,252"; var regex = /\d+/gm var arr = str.match(regex).map(d => (+d) + 1) console.log(arr) // Output: [124, 125, 235, 253]
4条答案
按热度按时间aor9mmx11#
使用
split
和map
函数:字符串
注意
+val
- string被转换为一个数字。或更短:
型
编辑2015.07.29
今天,我建议反对使用
+
运算符将变量转换为数字。相反,我会使用一个更显式但也更可读的Number
调用:型
编辑2017.03.09
ECMAScript 2015引入了 arrow function,因此可以使用它来使代码更加简洁:
型
siv3szwd2#
字符串
s8vozzvw3#
如果你正在使用lodash,并且有心情写一个太可爱了的俏皮话:
字符串
由于lodash强大的解析能力,它的健壮性令人惊讶。
如果你想要一个也能从字符串中清除非数字字符的字符串(并且更容易理解......而且不那么可爱):
型
我不再推荐我以前的解决方案。除了矫枉过正,已经很容易做没有第三方库,它利用_.chain,其中has a variety of issues。这是我现在推荐的解决方案:
型
我以前的答案仍然是正确的,所以我将把它留作记录,但现在没有必要使用它。
uelo1irk4#
你可以使用正则表达式来筛选字符串
字符串
你可能想要
matches
数字,所以:型