为什么这样就打印不出来indexOf的值?

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)是可以打印的啊


慕姐8265434
浏览 303回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript