数组过滤器函数

时间:2016-05-27 17:32:28

标签: javascript

任何人都可以帮我解决这个问题吗?显然,我只是发现一个人无法在过滤函数中运行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;} }
  });
}

1 个答案:

答案 0 :(得分:0)

数组filter方法采用回调函数定义,返回truefalsetrue将在结果数组中包含该项。 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);