2017-09-01 3 views
-1

Iは、2つの変数を比較typescriptですに設定条件を有する:typecript/javascript condition:[]!= []?

this.CurrentSelection == this.PreviousSelection 

両方の変数が配列され、空の配列([])であることができます。私のアプリでは、これらの変数のそれぞれが空の配列(CDTウォッチのArray(0))であるという条件があります。これら2つの空の配列間で比較が行われると、結果はfalseになります。それは[] == []のようです。これの根底にある理由は何ですか?このシナリオで長さ== 0をチェックするために追加の "または"節が必要ですか?

答えて

0

参照を比較しています。

:あなたは、両方の配列が同じ値が含まれているかどうかを確認したい場合、あなたはこのような何かを行うことができ

const a = []; 
 
const b = []; 
 
const c = a; 
 

 
console.log(a === b); 
 
console.log(a === c);

:結果は、同じアレイの両方ab参照場合trueになります

function arrayEquals(a, b) { 
 
    return a.length === b.length && a.every((v, i) => v === b[i]); 
 
} 
 

 
console.log(
 
    arrayEquals([1,2,3], [1,2,3]) 
 
);