ホームページ  >  記事  >  ウェブフロントエンド  >  配列から重複した項目を削除する JS メソッド

配列から重複した項目を削除する JS メソッド

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-14 16:11:042548ブラウズ

今回はJSを使って配列から重複する項目を削除する方法をお届けします。 、一緒に見ていきましょう。

配列の重複排除には多くの方法があり、方法が異なれば効率も異なります。例えば、前回の記事では、JSで実装する配列重複排除アルゴリズムのまとめとして、4つの実装方法をまとめて分析しました。ここでは効率的な配列の重複排除方法、つまりJSオブジェクト

の特性に基づいて配列内の重複項目を削除する方法を紹介します。

1. JSオブジェクトの特性(この記事で使用する特性): キーは常に一意です 例: オブジェクトのキー値の一意性について説明します。つまり、js で既存の

属性

を再割り当てするとき、キーは実際には新しいキーを作成するのではなく上書きされます

var t={name:'张三',age:20};//定义个js对象
console.log(t.name);//控制台输出:张三
//注意:此时对象t有两个属性:name、age
t.name='李四';
console.log(t.name);//控制台输出:李四
//注意:此时对象t依然有两个属性:name、age

2. アレイの重複排除手順の分析 2つのステップに分かれています:

1. 重複排除された配列を js オブジェクトに変換して返します。

変換ルール: 配列の値を js オブジェクトのキーに変更し、その値を任意の値に代入します

; 2. 手順 1 のオブジェクトを配列に復元し、オブジェクトのキーを配列の要素として使用します。

3. 配列重複排除の実装

var arr=[1,2,3,4,5,23,4,2,4,3];
//1.把数组装换成对象,数组的元素作为对象的key,然后返回对象
function toObject(ac_array){
    var obj={};//私有的对象
    for (var i=0;i<ac_array.length;i++) {
      obj[ac_array[i]] = true;
    }
    console.log(obj);//Object {1: true, 2: true, 3: true, 4: true, 5: true, 23: true}
    return obj;
}
//2.把对象的key获取出来作为数组的元素,然后返回数组
function keys(ac_obj){
    var arr = [];
    for(var item in ac_obj){
      if(ac_obj.hasOwnProperty(item)){
        arr.push(item);
      }
    }
    console.log(arr);//["1", "2", "3", "4", "5", "23"]
    return arr;
}
//综合
function uniq(ac_array){
    return keys(toObject(ac_array));
}
//测试
var uniq_array=uniq(arr);
console.log(uniq_array);//["1", "2", "3", "4", "5", "23"]
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

ブートストラップのレスポンシブ ナビゲーション バー テンプレートを使用する方法


vue.js メソッドを使用して配列データを操作する方法

以上が配列から重複した項目を削除する JS メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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