ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptは配列から重複した要素を削除します

JavaScriptは配列から重複した要素を削除します

大家讲道理
大家讲道理オリジナル
2016-11-10 13:15:451357ブラウズ

タイトル: 配列 [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);
    }
})();


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。