gpt4 book ai didi

javascript - 检查数组中是否每个 id 都有一个现有对象

转载 作者:行者123 更新时间:2023-12-01 01:59:22 25 4
gpt4 key购买 nike

我想检查数组的每个 id 是否都存在一个现有对象。

const ids = [ 'xxnQt5X8pfbcJMn6i', 'fbcJMn6ixxnQt5X8p' ]
const target = [
{ _id: 'xxnQt5X8pfbcJMn6i' },
{ _id: 'Qt5X8pfbcJMn6ixxn' },
]

在此示例中,我希望得到 false,因为第二个 ID (fbcJMn6ixxnQt5X8p) 不存在。

这应该返回true:

const ids = [ 'xxnQt5X8pfbcJMn6i', 'fbcJMn6ixxnQt5X8p' ]
const target = [
{ _id: 'xxnQt5X8pfbcJMn6i' },
{ _id: 'Qt5X8pfbcJMn6ixxn' },
{ _id: 'fbcJMn6ixxnQt5X8p' },
]

这是我尝试过的:

ids.every(id => target.find(element => element._id === id))

最佳答案

你已经非常接近了,你需要传递一个函数而不是一个对象来find - 我建议使用 some()如果您只想知道它是否存在,而不需要返回对象,则不要使用 find

const ids = [ 'xxnQt5X8pfbcJMn6i', 'fbcJMn6ixxnQt5X8p' ]
const target = [
{ _id: 'xxnQt5X8pfbcJMn6i' },
{ _id: 'Qt5X8pfbcJMn6ixxn' },
{ _id: 'fbcJMn6ixxnQt5X8p' },
]

const allIn = ids.every(id => target.some(({_id}) => id === _id));
console.log(allIn);

关于javascript - 检查数组中是否每个 id 都有一个现有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50743551/

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