此标题为W3Cschool中的初级的脚本算法编程实践中的一题。
此题需要使用Array的filter方法
解析思路大概有两种:
方案一:从位置1处,遍历原数组,并过滤第一个子数组的元素
function destroyer(arr) {
var argArr = arguments;
for (var i = 1; i < argArr.length; i++) {
arr = arr.filter(function(val) {
return argArr[i] !== val;
});
}
return arr;
}
注:方案一会报警告,Don't make functions within a loop。
方案二:在Array的filter方法中,遍历原数组
function destroyer(arr) {
//取出所有参数
var args = Array.from(arguments);
return arr.filter(function(item){
//如果不在原数组中,予以保存
let index = args.indexOf(item);
return index === -1;
});
}