ホームページ > ウェブフロントエンド > jsチュートリアル > JSは配列内の重複項目を削除する機能を実装します

JSは配列内の重複項目を削除する機能を実装します

小云云
リリース: 2018-01-18 13:22:52
オリジナル
1736 人が閲覧しました

この記事では、配列内の重複項目を削除する機能を実現するための JS のオブジェクトベースの機能を主に紹介し、キー値の一意性に基づいて配列の重複排除を実装するための JS の具体的な手順と関連する操作テクニックを詳細に分析します。困っている友達は以下を参考にしてください。皆さんのお役に立てれば幸いです。

この記事の例では、配列内の重複項目を削除する関数を実装するための 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 の 2 次元配列から重複を削除する方法

java データ構造アルゴリズムで重複を削除する noDups アルゴリズムの例

重複を削除する PHP 二次元配列カスタム関数_PHP チュートリアル

以上がJSは配列内の重複項目を削除する機能を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート