gpt4 book ai didi

javascript - 检查一个对象是否存在于数组中其他对象的子对象中

转载 作者:行者123 更新时间:2023-11-30 15:25:00 25 4
gpt4 key购买 nike

我有这样的数组:

array = [
{
a:0,
b:{x:1,y:2}
},
{
c:0,
b:{x:3,y:2}},
]

我有一个像这样的新对象

{
e:0,
b:{x:2,y:5}
}

我想测试数组中的对象是否具有相同 嵌套 b对象,如果所以我会把新对象推到那里,如果它已经存在,我会用更新的对象替换整个对象。任何帮助我怎么能做到这一点(Lodash,ES6 ..),顺便说一下,我正在使用 Typescript。

最佳答案

您可以简单地使用 Array.prototype.some()方法与你的数组来测试是否有任何匹配的 b 对象与搜索到的对象,你的代码将是:

function checkIfObjectExists(array, obj) {
return array.some(function(element) {
return (typeof obj.b === typeof element.b) && JSON.stringify(obj.b) === JSON.stringify(element.b);
});
}

这是一个工作片段:

function checkIfObjectExists(array, obj) {
return array.some(function(element) {
return (typeof obj.b === typeof element.b) && JSON.stringify(obj.b) === JSON.stringify(element.b);
});
}

array = [{
a: 0,
b: {
x: 1,
y: 2
}
},
{
c: 0,
b: {
x: 3,
y: 2
}
},
];

var searched = {
e: 0,
b: {
x: 2,
y: 5
}
};


//Check an existing userId
console.log(checkIfObjectExists(array, searched));

//Check a non existing userId
console.log(checkIfObjectExists(array, {
a: 0,
b: {
x: 1,
y: 2
}
}));

关于javascript - 检查一个对象是否存在于数组中其他对象的子对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43137359/

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