javascript - js array遍历 - 如何从数组中删除一个特定的项目?

JavaScript array append / javascript / arrays

我有一个数字数组,正在使用 .push() 方法向其中添加元素。

我在找相当于这样的东西。

array.remove(number);

Melanie



Answer #1
var removed = helper.removeOne(arr, row => row.id === 5 );

var removed = helper.remove(arr, row => row.name.startsWith('BMW'));
var helper = {
 //删除并返回第一个匹配项

 removeOne: function(array, predicate) {
  for (var i = 0; i < array.length; i++) {
   if (predicate(array[i])) {
    return array.splice(i, 1);
   }
  }
 },

 //删除并返回所有出现的事件

 remove: function(array, predicate) {
  var removed = [];

  for (var i = 0; i < array.length; ) {
   if (predicate(array[i])) {
    removed.push(array.splice(i, 1));
    continue;
   }
   i++;
  }
  return removed;
 },
};