На данный вопрос уже ответили:
По идее код должен вырезать из массива все значения, кроме цифр, но происходит вообще непонятно что, возможно я как-то не так применил функцию ForEach;
function filter_list(l) {
l.forEach(onlyNumber)
function onlyNumber(item, i, arr) {
if(typeof item !== Number) {
arr.splice(i, 1);
}
}
return l;
}
console.log(filter_list(['a', 1, 3, 'b']));
Методом .splice() вы меняете сам массив во время работы .forEach(). Используйте .filter(), если вам нужно профильтровать массив
function filterList(arr) {
return arr.filter(function (item) {
return typeof item === 'number';
});
}
console.log(filterList(['a', 1, 3, 'b']));
typeof возвращает строкуСборка персонального компьютера от Artline: умный выбор для современных пользователей