JavaScript比较两个数组是否相等

  1. 判断方法1:
    有一种方法是将数组转换为字符串进行比较
let arr1 = [1, 2, 3, 4];
let arr2 = [1, 2, 3, 4];

JSON.stringify(arr1) === JSON.stringify(arr2)  // true

或者:

arr1.sort().toString() == arr2.sort().toString()  // true

不过,这种方法有隐患,比如数字 1 和字符串 ’1‘ 在被转为字符串时,会被认为相等。

  1. 另一种方法:
function isEquar(a, b) {
    // 判断数组的长度
    if (a.length !== b.length) {
        return false
    } else {
        // 循环遍历数组的值进行比较
        for (let i = 0; i < a.length; i++) {
            if (a[i] !== b[i]) {
                return false
            }
        }
        return true;
    }
}
var s = equar([1, '2', 3], [1, 2, 3]);
var t = equar([1, 2, 3], [1, 2, 3]);
console.log(s);  //  false
console.log(t);  //  true
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。