我有两个数组,一个看起来像:
["ssewweewewzad0xsis", "sasasaasasaas", "ddwdwd", "ffdfdfdffdfdf", "rffrfrfrfrfrrf", "rffrfrfrffrfrfrfbyzad0xsis
", "dsdssddssd", "ssdsddssd"]
另一个看起来像:
[
Array[8]
0: "ssdsddssd"
1: "dsdssddssd"
2: "rffrfrfrffrfrfrfbyzad0xsis↵"
3: "rffrfrfrfrfrrf"
4: "ffdfdfdffdfdf"
5: "ddwdwd"
6: "sasasaasasaas"
7: "ssewweewewzad0xsis"
length: 8
__proto__: Array[0]
(取自 Chrome 中的开发者控制台)
它们之间有什么区别,我如何检查它们是否相同?
第一个来自解析的 JSON,第二个是 var array = new Array();
并且它的值是通过 array.push()
添加的。
最佳答案
从您的屏幕截图看来,这是一个数组中的数组。
要获取嵌套数组,可以使用theArray[0]
。
例如:
var arr = [1, 2, 3], // shows up as [1, 2, 3]
arr2 = [arr]; // shows up as [ Array[3] ] which you can expand
// with the arrow
然后:
arr2[0] === arr;
要比较,就看数组引用的是不是同一个东西。
如果是这样,使用arr2[0] === arr
。
否则,您可以使用互联网上可用的算法之一。在 Chrome 中,也可以这样做:
var a = [1, 2, 3],
b = [1, 2, 3];
a === b; // false
a <= b && a >= b; // true
关于javascript - 这些数组之间的差异以及如何比较它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7696779/