gpt4 book ai didi

javascript - 在两个数组中查找匹配值

转载 作者:行者123 更新时间:2023-11-30 14:32:33 24 4
gpt4 key购买 nike

我想找到两个数组之间的匹配值,并创建一个 json 数组,如果值匹配则设置为 true,如果不匹配则设置为 false。我知道,secondArray 中的值将始终与第一个数组中的某些值匹配,并且它总是会更小,因为 secondArray 是基于第一个数组创建的。

let firstArray = ["One", "Two", "Three", "Four", "Five"];
let secondArray = ["Three", "Four"];
let jsonArray = [];

我想创建一个 json 数组:

[
{
"name": "One",
"matched": false
},
{
"name": "Two",
"matched": false
},
{
"name": "Three",
"matched": true
},
{
"name": "Four",
"matched": true
},
{
"name": "Five",
"matched": false
}
]

通常,我会做这样的事情:

            firstArray.forEach(firstElement=>{
secondArray.forEach(secondElement=>{
if(firstArray.indexOf(secondElement)>=0){
jsonArray.push({'name': secondElement, 'matched': true});
}else{
jsonArray.push({'name': secondElement, 'matched': false});
}
});
});

但这只会创建一个具有重复值的 json 数组,其中名称相同,但匹配的值是 false 和 true。

我好像迷失在了一些非常简单的事情上。

最佳答案

您可以结合使用 mapincludes 帮助程序来实现这一点。

let firstArray = ["One", "Two", "Three", "Four", "Five"];
let secondArray = ["Three", "Four"];
let jsonArray = [];

jsonArray = firstArray.map(i => {
return { 'name': i, 'matched': secondArray.includes(i) };
});

console.log(jsonArray);

关于javascript - 在两个数组中查找匹配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50950721/

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