I have an array from strings and numbers. I need to sort the numbers or better to extract only the numbers in another array. Here is the example:
const myArr = ['Prihodi 23456 danaci 34 razhodi 23455 I drugi.']
I need to make it like this
const filtered = [23456, 34, 23455]
I used split(' ') method to separate them with comma but don't know how to filter them for JS they all are strings.
This could be a possible solution,
See MDN for map(), replace(), trim() and split()
const myArr = ['Prihodi 23456 danaci 34 razhodi 23455 I drugi.'];
filtered = myArr[0].replace(/\D+/g, ' ').trim().split(' ').map(e => parseInt(e));
console.log(filtered);
OR
const regex = /\d+/gm;
const str = `Prihodi 23456 danaci 34 razhodi 23455 I drugi`;
let m;
const filter = [];
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
filter.push(parseInt(match))
});
}
console.log(filter);