gpt4 book ai didi

javascript - 检查键/值对对象数组的简洁方法?

转载 作者:行者123 更新时间:2023-12-04 03:31:00 25 4
gpt4 key购买 nike

查找下面数组中的每个字符串是否存在于数组中对象中的某个 id 的简短方法是什么?我知道我可以执行 for 循环,但如果我运行多个查找,它就会变得乏味。

下面的示例应该输出 false,因为一个匹配,一个不匹配。

var array1= [
'j2n4k2j3n42k3j4n',
'ln23jk4n2njknn2n'
]


var array2 = [
{
fruit:"banana"
origin:"florida"
id:"j2n4k2j3n42k3j4n"
},
{
fruit:"peach"
origin:"georgia"
id:"l2nkj2n3k4bj"
},
]

最佳答案

下面的代码输出一个 bool 值。如果所有 id 在 array2 中可用,则为真

var array1 = [
'j2n4k2j3n42k3j4n',
"l2nkj2n3k4bj",
'ln23jk4n2njknn2n'
]


var array2 = [{
fruit: "banana",
origin: "florida",
id: "j2n4k2j3n42k3j4n",
},
{
fruit: "peach",
origin: "georgia",
id: "l2nkj2n3k4bj"
},
]

const results = array1.every(id => array2.find(item => item.id === id))

console.log(results)

如果要查找找到/未找到哪个元素,请使用以下方法。它输出一个包含 bool 值的数组,并且与 array1 具有相同的计数。如果找到 id,则输出数组将在该数组位置包含 true

var array1 = [
'j2n4k2j3n42k3j4n',
"l2nkj2n3k4bj",
'ln23jk4n2njknn2n'
]


var array2 = [{
fruit: "banana",
origin: "florida",
id: "j2n4k2j3n42k3j4n",
},
{
fruit: "peach",
origin: "georgia",
id: "l2nkj2n3k4bj"
},
]
// Initial approach which works
// const results = array1.map(id => Boolean(array2.find(item => item.id === id)));

// Another approached as suggested by VLAZ and Phong in comments. `some` will check and return the boolean.

const results = array1.map(id => array2.some(item => item.id === id));

console.log(results)

关于javascript - 检查键/值对对象数组的简洁方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66812046/

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