Heim  >  Artikel  >  Web-Frontend  >  JavaScript去掉数组中的重复元素

JavaScript去掉数组中的重复元素

大家讲道理
大家讲道理Original
2016-11-10 13:15:451300Durchsuche

题目:去掉数组[4,3,"3",3,5,7,5]中的重复元素,返回[4,3,"3",5,7]

(function() {
    'use strict';
    function filter1(arr) {
        var b = [];
        arr.forEach(function(i) {
            if (b.indexOf(i) == -1) {
                b.push(i);
            }
        });
        return b;
    }
 
    function filter2(arr) {
        var b = {}, c = [];
        arr.forEach(function(i) {
            b[i] = b[i] ? b[i] : {};
            var type = typeof i;
            if (!b[i][type]) {
                b[i][type] = true;
                c.push(i);
            }
        });
        return c;
    }
 
    function timer(fn, arr) {
        console.time('filter');
        fn.call(this, arr);
        console.timeEnd('filter');
    }
 
    function testArr(n) {
        // var arr = [4,3,"3",3,5,7,5];
        var arr = [];
        for (var i = 0; i < n; i++) {
            arr.push(i);
            arr.push(i + "");
        }
        return arr;
    }
 
    for (var i = 1; i <= 100; i++) {
        console.log(i * 10);
        var arr = testArr(i * 10);
        timer(filter1, arr);
        timer(filter2, arr);
    }
})();


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:js文件格式校验Nächster Artikel:js验证身份证信息是否合法