gpt4 book ai didi

javascript - 比较 json 数组并生成一个简单的数组

转载 作者:行者123 更新时间:2023-12-05 00:36:21 26 4
gpt4 key购买 nike

我有两个 JSONS,我必须从中创建一个数组
数组 1:[{ label: "HEADER" value:"header" }, { label: "FOOTER" value:"footer" }]数组2:[ { header: "Header 1", footer: "Footer 1" }, { header: "Header 2", footer: "Footer 2" }]预期数组(Array1 的标签将是 Array2 Keys 中的搜索条件:[["Header 1","Header 2"],["Footer 1","Footer 2"]]

最佳答案

您可以使用 Array.map()在 Array1 上,然后对于该数组中的每个值,再次运行 .map(),返回 Array2 中的所有匹配项。
我们会使用 Array.find()String.includes()去做这个。

const Array1 = [ { label: "HEADER", value:"header" }, { label: "FOOTER", value:"footer" } ]  
const Array2 = [ { header: "Header 1", footer: "Footer 1" }, { header: "Header 2", footer: "Footer 2" } ]

const result = Array1.map(({ label, value}) => {
return Array2.map((obj) => {
let key = Object.keys(obj).find(key => key.includes(value));
return key ? obj[key]: null;
})
})
console.log('Result:', result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

另一个例子,这次 Array2 有一个没有页脚属性的条目(根据要求):

const Array1 = [ { label: "HEADER", value:"header" }, { label: "FOOTER", value:"footer" } ]  
const Array2 = [ { header: "Header 1", footer: "Footer 1" }, { header: "Header 2" }]

const result = Array1.map(({ label, value}) => {
return Array2.map((obj) => {
let key = Object.keys(obj).find(key => key.includes(value));
return key ? obj[key]: null;
})
})
console.log('Result:', result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 比较 json 数组并生成一个简单的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70180995/

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