1.2つの配列が「等しい」かどうかを判断する2.2つの配列の交差と差セットを取る
1909 ワード
SetはES 6種の新規データ構造で、配列と似ていますが、そのメンバーの値は全部唯一です.
1.2つの配列の交差と差セットを取る
二つの方法があります JSON.strigify() JSON.strigifyを使用してはいけない場合
WeChat公式アカウント:
フロントエンド実習日記
1.2つの配列の交差と差セットを取る
var a = [1,2,3,4];
var b = [3,4,5,6];
var set1 = new Set([...a,...b]);
var set2 = new Set(a.filter((item)=>{
return b.indexOf(item) > -1
}));
var set3 = new Set(a.filter((item)=>{
return b.indexOf(item) == -1
}))
console.log(' :',set1);//Set{1,2,3,4,5,6}
console.log(' :',set2);//Set{3,4}
console.log(' :',set3);//Set{1,2}
2.2つの配列が「等しい」かどうかを判断する.二つの方法があります
var a = ['1',2];
var b = [1,2];
console.log(JSON.stringify(a));//['1',2]
console.log(JSON.stringify(b));//[1,2]
console.log(JSON.stringify(a) == JSON.stringify(b));//false
Array.prototype.equals = function (arr) {
if (!arr)
return false;
if (this.length != arr.length)
return false;
for (var i = 0, l = this.length; i < l; i++) {
if (Array.isArray(this[i]) && Array.isArray(arr[i])) {
this[i].equals(arr[i]);
}
//else if(Object.prototype.toString.call(this[i])==='[object Object]' && Object.prototype.toString.call(arr[i])==='[object Object]') {
// , " " ,
//}
else {
// console.log(this[i]);
// console.log(arr[i]);
if(this[i]!=arr[i]){
return false;
}
}
}
return true;
}
X.toString()を使わないように注意してください. var a = ['1',2];
var b = [1,2];
console.log(a.toString());//1,2
console.log(b.toString());//1,2
console.log(a.toString() == b.toString());//true
文字列に変換すると、文字列'1'と数字1が等しくなります.WeChat公式アカウント:
フロントエンド実習日記