如何在 JavaScript 中检测数组相等性?
JavaScript中有两个数组,它们的格式如下:
[{'drink':['alcohol', 'soft', 'hot']}, {'fruit':['apple', 'pear']}];
我需要检测两个数组是否相等。如果它们包含不同顺序的相同元素,则它们被认为是相等的。我怎样才能做到这一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果
1
和2
相同,则数组相等。比较对象/数组的函数:
通过
for(var i=0; i可以实现对真实数组的循环。
可以通过 for(var i in object) 遍历此类对象的属性。
如果您不明白该功能,请随时在评论中请求解释。
If
1
and2
are both the same, your array is equal.Function to compare objects/arrays:
Looping through true arrays can be achieved through
for(var i=0; i<array.length; i++)
.Walking through the properties of such an object can be done by
for(var i in object)
.If you don't understand the function, feel free to request an explanation at the comments.
使用 Javascript,您无法检查数组是否相等,但您可以像这样比较它们:
sort
将所有元素按相同顺序排列,如果都<
和>
比较为 false,这意味着两者相同。With Javascript, you can't check if arrays are equals, but you can compare them like this:
The
sort
put all elements in the same order, and if both<
and>
comparisons are false it means both are the same.如果您希望两个数组中的顺序也相同,可以尝试此
JSON.stringify(array1)===JSON.stringify(array2);
。You can try this
JSON.stringify(array1)===JSON.stringify(array2);
if you want the order also to be identical in both the arrays.这能回答你的问题吗?
如何使用 JavaScript 检查两个数组是否相等?
Does this answer your question?
How to check if two arrays are equal with JavaScript?