我想找到两个数组之间的匹配值,并创建一个 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。
似乎我迷失在一些非常简单的事情中。