我有像这样的多维
javascript数组.
[ ["9","16","19","24","29","38"],["9","15",["10","17","39"],"21","38"] ....... ....... ]
大概40左右
我正在使用另一个名为check的数组,其中包含以下值
[9,10] //This is of size two for example,it may contain any number of elements BUT it only contains elements(digits) from the multidimensional array above
我想要的是我需要根据检查数组元素使多维数组唯一
1.例如检查数组是[15]
然后是多维数组
[
["9",//All the results which contain 15
]
2.例如检查数组是[15,21]
然后是多维数组
[
["9","38"]
//simply containing 15 AND 21.Please note prevIoUs example has only 15 in it not 21
//I need an AND not an OR
]
我曾经尝试过JavaScript IndexOf方法BUt它给我一个OR结果而不是AND
提前致谢
解决方法
你可以使用
.filter() method:
var mainArray = [ /* your array here */ ],check = ["15","21"],result;
result = mainArray.filter(function(val) {
for (var i = 0; i < check.length; i++)
if (val.indexOf(check[i]) === -1)
return false;
return true;
});
console.log(result);
演示:http://jsfiddle.net/nnnnnn/Dq6YR/
请注意,在版本9到you can fix that之前,IE不支持.filter().