如何检查两个数组是否与JavaScript相同? [英] How to check if two arrays are equal with JavaScript?

查看:127
本文介绍了如何检查两个数组是否与JavaScript相同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

var a = [1, 2, 3];
var b = [3, 2, 1];
var c = new Array(1, 2, 3);

alert(a == b + "|" + b == c);

演示

如何检查这些数组是否相等,并获得一个返回 true的方法如果它们相等?

How can I check these array for equality and get a method which returns true if they are equal?

jQuery是否提供任何方法?

Does jQuery offer any method for this?

推荐答案

这是你应该做的。请不要使用 stringify ,也不要< >

This is what you should do. Please don't use stringify nor < >.

function arraysEqual(a, b) {
  if (a === b) return true;
  if (a == null || b == null) return false;
  if (a.length != b.length) return false;

  // If you don't care about the order of the elements inside
  // the array, you should sort both arrays here.
  // Please note that calling sort on an array will modify that array.
  // you might want to clone your array first.

  for (var i = 0; i < a.length; ++i) {
    if (a[i] !== b[i]) return false;
  }
  return true;
}

这篇关于如何检查两个数组是否与JavaScript相同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆