#266 Seek and Destroy

2017-02-12  本文已影响0人  Kaier5

需要使用到的方法(命令):

  • filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组。
  • filter()不会改变原始数组。

indexOf() 方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。

arguments 是一个类似数组的对象, 对应于传递给函数的参数。
可使用 var args = Array.from(arguments);将arguments转换成真正的数组。

答案:
  1. 使用Array.from()将所有arguments提取出组成一个新数组;
  2. 使用filter(function(item))依据function(item)所设置的条件过滤arr,将满足条件的元素滤出(不是滤除),并将该元素传递给Arr数组;
  3. function(item)条件:args.indexOf(item) < 0(历遍数组args,当其中有元素与item内容时,则返回该元素在args数组中的位置(位置最小值为“0”)。此处设置的是 <0,因此 filter(function(item) 的条件是:
    将与args数组中不相同的元素return出来。。。
function destroyer(arr) {
  
  var args=Array.from(arguments); 
  var Arr = arr.filter(function(item){
      return args.indexOf(item)<0;
    });
  return Arr;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
上一篇下一篇

猜你喜欢

热点阅读