gpt4 book ai didi

javascript - 如何检查数组是否包含对象

转载 作者:行者123 更新时间:2023-11-30 14:44:44 24 4
gpt4 key购买 nike

我有一个数组,从 json 创建:

var array = [{"name":"name1","group":"group1","id":"123", ...},
{"name":"name2","group":"group2","id":"456", ...},
{"name":"name3","group":"group1","id":"789", ...}];

在我得到另一个数组之后:

var array1 = [{"name":"name1","group":"group1","id":"123", ...},
{"name":"name4","group":"group1","id":"987", ...}]

我需要将第二个数组中的项目插入第一个数组,但如何检查第一个数组是否包含第二个数组中的对象?

数组中的每个对象都包含更多属性,其中一些是动态创建的,因此我无法通过 indexOf() 进行检查。我找到的所有解决方案都只适用于像 Int 这样的简单对象。例如,如果我可以通过属性“id”进行检查,那就太好了。

最佳答案

先使用find

var newObj = {"name":"name2","group":"group2","id":"456"};
var value = array.find( s => s.id == newObj.id );

如果未找到,现在推送

if ( !value )
{
array.push( newObj )
}

关于javascript - 如何检查数组是否包含对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49133965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com