ホームページ >ウェブフロントエンド >jsチュートリアル >JSで複数の配列をマージするときに重複を削除する方法
今回は複数の配列を結合する際にJSで重複を除去する方法を紹介します。 複数の配列を結合する際のJSでの重複除去の注意点は何ですか? 以下は実際的なケースです。
var arr1 = ['a','b']; var arr2 = ['a','c','d']; var arr3 = [1,'d',undefined,true,null]; //合并两个数组,去重 var concat_ = function(arr1,arr2){ //不要直接使用var arr = arr1,这样arr只是arr1的一个引用,两者的修改会互相影响 var arr = arr1.concat(); //或者使用slice()复制,var arr = arr1.slice(0) for(var i=0;i<arr2.length;i++){ arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0; } return arr; } console.log(concat_(arr1,arr2));
実行結果:
var arr1 = ['a','b']; var arr2 = ['a','c','d']; var arr3 = [1,'d',undefined,true,null]; //合并多个数组,去重 var concat = function(arr1,arr2,arr3){ if(arguments.length <= 1){ return false; } var concat_ = function(arr1,arr2){ var arr = arr1.concat(); for(var i=0;i<arr2.length;i++){ arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0; } return arr; } var result = concat_(arr1,arr2); for(var i=2;i<arguments.length;i++){ result = concat_(result,arguments[i]); } return result; } console.log(concat(arr1,arr2,arr3));
実行結果:
//合并多个数组,去重,排序 var arr1 = [1,6,4,0]; var arr2 = [8,20,7,4.5]; var arr3 = [6,0,7,90,2]; var concat = function(arr1,arr2,arr3){ if(arguments.length <= 1){ return false; } var concat_ = function(arr1,arr2){ var arr = arr1.concat(); for(var i=0;i<arr2.length;i++){ arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0; } return arr; } var result = concat_(arr1,arr2); for(var i=2;i<arguments.length;i++){ result = concat_(result,arguments[i]); } //排序 function sortNumber(a,b){ return a - b; } return result.sort(sortNumber); } console.log(concat(arr1,arr2,arr3));
この記事の事例を読んだ後、あなたは方法をマスターしたと思います。 php 中国語 Web サイトの記事の他の関連トピックにも注目してください。
推奨読書:
反応プロパティと状態属性の実践的なケースの詳細な説明
画像をドラッグして貼り付けるためのvue-simplemde
以上がJSで複数の配列をマージするときに重複を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。