How To Split And Modify A String In Nodejs?
Solution 1:
Use split
and map
function:
var str = "123, 124, 234,252";
var arr = str.split(",");
arr = arr.map(function (val) { return +val + 1; });
Notice +val
- string is casted to a number.
Or shorter:
var str = "123, 124, 234,252";
var arr = str.split(",").map(function (val) { return +val + 1; });
edit 2015.07.29
Today I'd advise against using +
operator to cast variable to a number. Instead I'd go with a more explicit but also more readable Number
call:
var str = "123, 124, 234,252";
var arr = str.split(",").map(function (val) {
returnNumber(val) + 1;
});
console.log(arr);
edit 2017.03.09
ECMAScript 2015 introduced arrow function so it could be used instead to make the code more concise:
var str = "123, 124, 234,252";
var arr = str.split(",").map(val =>Number(val) + 1);
console.log(arr);
Solution 2:
var str = "123, 124, 234,252";
var arr = str.split(",");
for(var i=0;i<arr.length;i++) {
arr[i] = ++arr[i];
}
Solution 3:
If you're using lodash and in the mood for a too-cute-for-its-own-good one-liner:
_.map(_.words('123, 124, 234,252'), _.add.bind(1, 1));
It's surprisingly robust thanks to lodash's powerful parsing capabilities.
If you want one that will also clean non-digit characters out of the string (and is easier to follow...and not quite so cutesy):
_.chain('123, 124, 234,252, n301')
.replace(/[^\d,]/g, '')
.words()
.map(_.partial(_.add, 1))
.value();
2017 edit:
I no longer recommend my previous solution. Besides being overkill and already easy to do without a third-party library, it makes use of _.chain, which has a variety of issues. Here's the solution I would now recommend:
const str = '123, 124, 234,252';
const arr = str.split(',').map(n =>parseInt(n, 10) + 1);
My old answer is still correct, so I'll leave it for the record, but there's no need to use it nowadays.
Post a Comment for "How To Split And Modify A String In Nodejs?"