美文网首页前端实践题目
JavaScript比较两个数组是否相等

JavaScript比较两个数组是否相等

作者: __越过山丘__ | 来源:发表于2019-01-20 16:22 被阅读0次
    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
    

    相关文章

      网友评论

        本文标题:JavaScript比较两个数组是否相等

        本文链接:https://www.haomeiwen.com/subject/gpwxjqtx.html