gpt4 book ai didi

javascript - 通过对象的 id 在 javascript 数组中查找和移动对象

转载 作者:搜寻专家 更新时间:2023-11-01 05:02:58 25 4
gpt4 key购买 nike

我有 2 个对象数组。每个对象都有一个 Id 属性。现在,如果我有一个只有 ID 的第三个数组,那么根据这些 ID 从 array1 中查找对象并将它们移动到 array2 的更好更快的方法是什么。

非常感谢您的回答..

示例代码:

Person = function(id, fn, ln) {
this.id = id,
this.firstName = fn,
this.lastName = ln
}

array1 = new Array();
// add 500 new Person objects to this array

array2 = new Array();
// add some other new Person objects to this array

function moveArrayItems(ids) {
// ids is an array of ids e.g. [1,2,3,4,5,6,...]
// Now I want to find all the person objects from array1 whose ids
// match with the ids array passed into this method. Then move them to array2.
// What is the best way to achive this?
}

最佳答案

如果每个数组中确实有 500 多个对象,您最好使用散列来存储对象,以 id 为键:

var people = {
1: {id:1, name:"George Washington"},
2: {id:2, name:"John Adams"},
3: {id:3, name:"Thomas Jefferson"}, // ...
}

var people2 = {}

现在通过 ID 移动东西很简单(而且快得多):

function moveArrayItems(ids) {
var i,id;
for (i=0; i<ids.length; i++){
id = ids[i];
if (people1[id]) {
people2[id] = people1[id];
delete people1[id];
}
}
}

关于javascript - 通过对象的 id 在 javascript 数组中查找和移动对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2141545/

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