Как удалить из массива значение?

сейчас я получаю 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]));

→ Ссылка