javascript - 这些数组之间的差异以及如何比较它们?

标签 javascript jquery arrays compare

我有两个数组,一个看起来像:

["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/

相关文章:

javascript - MomentJs。时间转换时为什么输出的小时总是:10 as minutes?

javascript - 惯性拖动滚动条

java - 将单个 csv 对象存储到数组中

javascript - select2 MULTIPLE 占位符不起作用

javascript - 如何将预加载器添加到网站而不手动显示/隐藏它

javascript - jQuery 加载 Div 损坏

关于数组的 C 编程语言示例

javascript - 数组如何工作(Javascript)?

javascript - 我们如何向使用 JavaScript 中的 document.createElement() 创建的元素添加焦点等事件?

jquery - ASP.NET MVC 手动删除不显眼的验证错误