任何人都可以帮我解决这个问题吗?显然,我只是发现一个人无法在过滤函数中运行for循环。如何检查过滤函数中数组“a”中的所有项?
function destroyer(arr) {
// Remove all the values
var a = [];
for (var i = 1;i < arguments.length;i++){
a.push(arguments[i]);
}
return arr.filter(function(x){
for (var b = 0;b <a.length;b++) { if (x !== a[b]){return x;} }
});
}
答案 0 :(得分:0)
数组filter
方法采用回调函数定义,返回true
或false
。 true
将在结果数组中包含该项。 false
将排除它。
以下是如何使用.filter()
:
var arr = [1,2,3,4,'a','b','c','d'];
var filteredArr = arr.filter(function(item, index) {
return typeof item === 'string' && index < 6;
});
console.log(filteredArr);
您也可以参考过滤函数范围之外的变量:
var arr1 = [2,4,6,8];
var arr2 = [5,6,7,8];
var filteredArr = arr1.filter(function(item) {
return arr2.indexOf(item) > -1;
});
console.log(filteredArr);