根据关键 JavaScript 搜索和更新数组
javascriptweb developmentobject oriented programming更新于 2025/10/27 9:48:17
我们有两个像这样的数组 −
let arr1 =
[{"LEVEL":4,"POSITION":"RGM"},{"LEVEL":5,"POSITION":"GM"},{"LEVEL":5,"POSITION":"GMH"}]
let arr2 = [{"EMAIL":"test1@stc.com","POSITION":"GM"},
{"EMAIL":"test2@stc.com","POSITION":"GMH"},
{"EMAIL":"test3@stc.com","POSITION":"RGM"},
{"EMAIL":"test3@CSR.COM.AU","POSITION":"GM"}
]
我们需要编写一个函数,将属性级别添加到 arr2 的每个对象,从 arr1 中具有相同属性"POSITION"值的对象中选择它。
让我们来编写该函数的代码 −
示例
let arr1 =
[{"LEVEL":4,"POSITION":"RGM"},{"LEVEL":5,"POSITION":"GM"},{"LEVEL":5,"POSI
TION":"GMH"}]
let arr2 = [{"EMAIL":"test1@stc.com","POSITION":"GM"},
{"EMAIL":"test2@stc.com","POSITION":"GMH"},
{"EMAIL":"test3@stc.com","POSITION":"RGM"},
{"EMAIL":"test3@CSR.COM.AU","POSITION":"GM"}
]
const formatArray = (first, second) => {
second.forEach((el, index) => {
const ind = first.findIndex(item => item["POSITION"] ===
el["POSITION"]);
if(ind !== -1){
second[index]["LEVEL"] = first[ind]["LEVEL"];
};
});
};
formatArray(arr1, arr2);
console.log(arr2);
输出
控制台中的输出将是 −
[
{ EMAIL: 'test1@stc.com', POSITION: 'GM', LEVEL: 5 },
{ EMAIL: 'test2@stc.com', POSITION: 'GMH', LEVEL: 5 },
{ EMAIL: 'test3@stc.com', POSITION: 'RGM', LEVEL: 4 },
{ EMAIL: 'test3@CSR.COM.AU', POSITION: 'GM', LEVEL: 5 }
]
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

