繁体   English   中英

JavaScript 检查数组是否在相同的索引处包含相同的元素

[英]JavaScript check if an array contains same element at the same index

我有两个数组-

var A =  ["a", "b", "c", "a", "b"];
var B = [["a", "b", "c", "a", "b"], ["c", "a", "b", "a", "b"]];
R = [5, 2];

需要一个结果 R = [5, 2],因为 B 的第一个元素与 A 具有相同的元素,而第二个元素在相同的索引处只有 2 个相似的元素。

我尝试了一种使用地图的方法,但失败了。

var o =  ["a", "b", "c", "a", "b"];
var rS = [["a", "b", "c", "a", "b"], ["c", "a", "b", "a", "b"]];
var result = Array(rS.length).fill(0);

rS.map((e1,i1,a1)=>{
    e1.map((e2,i2,a2)=>{
        rS[i1][i2] === o[i1] ? result[i1]+=1 : result[i1]+=0;
    })
})

如果嵌套数组项匹配,您可以将b与计数结果映射。

 var a = ["a", "b", "c", "a", "b"], b = [["a", "b", "c", "a", "b"], ["c", "a", "b", "a", "b"]], result = b.map(values => values.reduce((count, value, index) => count + (value === a[index]), 0) ); console.log(result);

我希望这有效:

var result = A.filter(e => B.indexOf(e) !== -1).length === B.length
console.log(result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM