打字稿/ javascript条件:[]!= []?

时间:2017-09-01 22:28:09

标签: javascript typescript

我在typescript中设置了一个条件,它比较了两个变量:

this.CurrentSelection == this.PreviousSelection

两个变量都是数组,可以是一个空数组([])。在我的应用程序中,我有一个条件,其中每个变量都是一个空数组(CDT监视中的数组(0))。当这两个空数组之间发生比较时,结果为false。好像是[] == []。有关这个潜在原因的任何想法?我需要额外的"或"检查长度的子句== 0对于这种情况?

1 个答案:

答案 0 :(得分:0)

您正在比较参考文献。如果truea引用相同的数组,则结果只会是b



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

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




如果要检查两个数组是否包含相同的值,可以执行以下操作:



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])
);