关于js的删除数组

var array = [
    {
        id:1,
        name:"小明"
    },
    {
        id:2,
        name:"小红"
    },
    {
        id:3,
        name:"小白"
    }
];
array.splice(0,1);
array.splice(1,1);
console.log(array);

代码如上,我只想保留“小红”,其他的都删除,以上代码是生效的。但我要写两遍splice方法,如果数据多的情况下要写N遍。有好的解决方法么?
阅读 3.6k
7 个回答

换个函数吧
这很明显是搜索/筛选操作

array.filter((item)=>item.name==="小红")
Array.prototype.splice.apply(array,[0,1],1);
望采纳。

你可以不可以先把小红这个单独提取出来放到一个数组里,然后清空原来的数字,在把新的数组赋值给原来的

array = [array[1]] 最简单了

用filter函数吧

array.filter(item => item.id === 2)

看看自己的描述,不就是说“我需要一个filter“么。

新手上路,请多包涵

var array1 = array.slice(1,2) 就可以把小红提出来了呀

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题