【发布时间】:2021-07-30 00:14:43
【问题描述】:
我需要通过匹配 id 数组来查找数组中的对象。 id 数组可以更长或等于人员数组的长度。我使用 forEach 循环的 people 数组并在内部使用了 include 方法来查找匹配的 id,但不确定它是否是好方法。有没有办法优化搜索算法?
const ids = [1, 4, 9, 7, 5, 3];
const matchedPersons = [];
const persons = [
{
id: 1,
name: "James"
},
{
id: 2,
name: "Alan"
},
{
id: 3,
name: "Marry"
}
];
persons.forEach((person) => {
if (ids.includes(person.id)) {
matchedPersons.push(person);
}
});
console.log(matchedPersons);
【问题讨论】:
-
现在需要多长时间?它需要多快?阵列通常有多大?它是按 id 排序的数组之一?
-
现在需要多长时间?它需要多快? - 目前很难回答,因为没有要测试的数据。阵列通常有多大? - 两个数组都可以存储多达 100 万个值
标签: javascript arrays algorithm loops foreach