gpt4 book ai didi

javascript - 使用另一个对象在 React 中搜索对象

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

你好,我有这样的东西,效果很好:

const handleFavour = () => {
const { developers } = state;
const results = developers.filter(list =>
list.uid.includes("authid")
);
setSearchResults(results);
console.log(results);
};

但是如果我想使用另一个具有许多 authid 的对象或数组进行搜索,现在代替“authid”,我该如何进行搜索?搜索了很长时间后找不到任何东西。

最佳答案

如果你想检查一个数组中的任何元素是否与另一个数组中的任何元素匹配,你可以将你当前的解决方案与 .some 结合起来。

const handleFavour = () => {
const allowedIds = ['id1', 'id2'];
const { developers } = state;
const results = developers.filter(list =>
list.uid.some(uid => allowedIds.includes(uid))
);
setSearchResults(results);
console.log(results);
};

如果 list.uid 中的任何元素也出现在 allowedIds 中,.some 将返回 true >.


根据您在评论中描述的情况,您似乎想要这样的东西:

const handleFavour = () => {
const users = [{ auth: 'id1' }, { auth: 'id2' }];
const { developers } = state;
const results = developers.filter(list =>
users.some(user => user.auth === list.uid)
);
setSearchResults(results);
console.log(results);
};

我最初认为 list.uid 是一个数组,因为您使用的是 .includes,通常我建议使用严格相等运算符 (=== ) 来比较字符串,除非你真的想允许部分匹配,但我猜在这种情况下你不会。

关于javascript - 使用另一个对象在 React 中搜索对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58827399/

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