js 删除对象数组 指定的key的元素

  1. 删除有tableid的 所有对象
var newArr = datas.reduce((total, current) => {
    !current.tableid  && total.push(current);
    return total;
}, []);
console.log(newArr);
  1. 删除有 tableid !==4 的 所有对象
var newArr = datas.reduce((total, current) => {
    current.tableid !== "4" && total.push(current);
    return total;
}, []);
console.log(newArr);
图片.png
  1. JS 删除数组中某一个元素
  • 在Array原型对象上添加删除方法
   // 查找指定的元素在数组中的位置
    Array.prototype.indexOf = function(val) {
            for (var i = 0; i < this.length; i++) {
             if (this[i] == val) {
                 return i;
             }
         }
         return -1;
     };
     // 通过索引删除数组元素
     Array.prototype.remove = function(val) {
         var index = this.indexOf(val);
         if (index > -1) {
             this.splice(index, 1);
         }
     };
    // demo使用
    var arr = [1, 2, 3, 5, 6, 'abc', 'ert'];
    arr.remove('abc');
  • ES6的简介写法
    var arr = [
        {
           id: 1,
           name: 'Janche'
         },
         {
            id: 2,
            name: '老王'
         }
      ]
    arr.splice(arr.findIndex(e => e.id === 1), 1)

你可能感兴趣的:(js 删除对象数组 指定的key的元素)