在freecodecamp中使用Javascript filter()函数时出错

时间:2018-04-02 07:01:20

标签: javascript arrays filter

function destroyer(arr) {

var arry=[];


for(var i=1;i<arr.length;i++)
{
  arr[0] = arr[0].filter(cc => cc != arr[i]);
}
return arry;
}

destroyer([1, 2, 3, 1, 2, 3], 2, 3);

我基本上必须返回第一个子数组的所有元素,这些元素不存在于数组的其余部分。

  

它显示&#34; arr [0] .filter不是一个函数。   驱逐舰([1,2,3,1,2,3],2,3)应返回[1,1]。   我基本上必须返回第一个子数组中不存在于数组中的所有元素。

5 个答案:

答案 0 :(得分:0)

你没有对提供给destroyer函数的其他参数做任何事情 - 你必须针对arr测试那些参数,你不应该&#39;是对自己进行arr测试。

&#13;
&#13;
function destroyer() {
  const [arr, ...excludeArr] = arguments;
  return arr.filter(elm => !excludeArr.includes(elm));
}

console.log(
  destroyer([1, 2, 3, 1, 2, 3], 2, 3)
);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

function destroyer(arr, x, y) {
return arr.filter(item => (item != x) && (item != y))
}

console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3))

答案 2 :(得分:0)

AndroidLauncher extends AndroidApplication

答案 3 :(得分:0)

您忘记使用数组调用您的方法。你必须用另一对zai4 tui1 jin4 shi2 pin3 an1 quan2 xin4 xi1 包围它。

您只需返回已过滤的[]即可获得所需内容。

arr[0]

答案 4 :(得分:0)

如你所说过你应该过滤第一个子数组,但是你只发送一个带有int值和其他值作为参数的数组,这个函数的实际用法应该是

&#13;
&#13;
function destroyer(arr) {

  for(var i = 1; i < arr.length; i++)
  {
    arr[0] = arr[0].filter(cc => cc != arr[i]);
  }

  return arr[0];
}

destroyer([[1, 2, 3, 1, 2, 3], 2, 3]);
&#13;
&#13;
&#13;