前端实践题目

JavaScript比较两个数组是否相等

2019-01-20  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读