function uniq() {
var arr=[].slice.call(arguments);
arr.forEach(function(a){
console.log(a); //能打印出a
console.log(arr.indexOf(a)); //只能打印出第一个元素的index
if(arr.indexOf(a)!=arr.lastIndexOf(a)){
arr=arr.splice(arr.indexOf(a),1);
}
});
return arr;
}
uniq([false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN]);
试过用for循环,但是还是没有打印出全部的index值,一直只能打印出false的index:0,这是和数组中的元素有关吗,但是我试过把arr=[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN],手动输入arr.indexOf(true)是可以打印的啊
相关分类