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)是可以打印的啊
添加回答
举报
0/150
提交
取消