javascript - js中怎么删除一个字段
迷茫
迷茫 2017-04-11 10:19:00
[JavaScript讨论组]

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
伊谢尔伦

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号