[英]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.