首页 > js中怎么删除一个字段

js中怎么删除一个字段

1、在js中如何删除一个字段?
例如 有
list=[{id:1},{id:4},{id:3}]
如何删除 {id:4}
2、为什么 list.indexOf({id:4})=-1?


先回答第一个问题,你可以这么做:

var list = [{id:1},{id:4},{id:3}];

var removedList = list.filter(item => item.id !== 4);

console.log(removedList);//[{id:1},{id:3}]
``

再来回答第二个问题,为什么`list.indexOf({id:4})=-1`,那你可以试试:

var a = {id: 4};
var b = {id: 4};

console.log(a === b);//结果是false


  1. list.splice(1, 1); 可以删除 list数组项中的第二项

  2. Array.prototype.indexOf(),查找数组过程中,使用strict equality (无论是 ===, 还是 triple-equals操作符都基于同样的方法)进行判断,如果是对象之间对比,会去查找两个对象之间的引用是否一致。很显然 {id:4} 与 list 数组中的各个数组项所在的引用位置是不一样的,所以结果为 -1

【热门文章】
【热门文章】