【发布时间】:2019-12-12 22:48:45
【问题描述】:
使用以下数组:
randomArray = [
{alias: 'book1', page: 127},
{alias: 'book1', page: 115},
{alias: 'book2', page: 115}
]
如果我想向数组中添加一个对象(当顺序无关紧要时),我假设我可以简单地:
randomArray.push({alias: 'book3', page: 303})
但是如果我想删除一个对象,比如说我想删除:
{alias: 'book1', page: 115},我该怎么做?
我看到过其他堆栈溢出问题,like this,试图找到对象的索引,但他们会假设属性在整个数组中具有唯一值来寻找一个属性。
我的想法:
我想尝试indexOf 然后splice 那个对象,但它不起作用。
randomArray.indexOf({alias: 'book1', page: 115}) 返回-1
查看对象数组并删除完全匹配的有效方法是什么?为了清楚起见,不使用库,所有这些对象都将具有相同的 alias 和 @987654330 @ 属性,不多也不少。 (另外,我应该调用这些属性或键,还是它们是同义词?)
编辑:我已将id 更改为page 以更有意义
【问题讨论】:
-
你可以使用图书馆吗?
-
@LéoMartin 否定。编辑问题以反映这一点
-
很遗憾你的 id 不是唯一的 (?)
-
使用同一问题答案中的代码,只需修改它以查看多个属性...
-
@JamesB 查看我的解决方案
标签: javascript arrays object