Как удалить из массива значение?
сейчас я получаю undefined
function delElem(val, arr) {
return arr.map(function(elem, index) {
if (elem == val) {
arr.splice(index, 1);
}
})
}
console.log(delElem(5, [1, 2, 3, 5])); //[1,2,3]
Ответы (2 шт):
Автор решения: Михаил Камахин
→ Ссылка
function delElem(val, arr) {
const newArr = arr.slice();
for (let i = 0; i < newArr.length; i++) {
if (newArr[i] === val) {
newArr.splice(i, 1);
i--;
continue;
}
}
return newArr;
}
console.log(delElem(5, [1, 2, 3, 5])); //[1,2,3]
Автор решения: Ningaro
→ Ссылка
Также хочу заметить что вариант который предлагает @hlear может оказаться быстрее!
Тесты:
Ссылка на тест
Мой вариант интерпретации:
const delElem = (val, arr) => arr.filter(e => e !== val)
console.log(delElem(5, [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 32, 45, 99]));