今天在实现一个算法题的时候,用到判断两个数组中的元素是否相等,这里的相等指的是两个数组A,B,判断这两个数组中对应的元素是否相等,即顺序和数值要分别对应相等。
具体来自这个题目:https://leetcode-cn.com/problems/leaf-similar-trees/
那判断两个数组是否相等有哪些方法呢?
第一种方法,挨个遍历,所以我是这样写的:
let arr1 = [1,2,3,4,5], arr2 = [3,4,5,6];
for (let i = 0; i <= arr1.length; i++) {
if (arr1[i] !== arr2[i]) {
return false;
} else {
continue;
}
}
return true;
第二种方法,可以将他们都转换成字符串进行比较,这种方式竟然比第一种方式用的时间要快一些。
return arr1.toString() == arr2.toString()
第三种方法,也是循环,从代码执行时间来看,该方式执行时间最长:
function isEqual(arr1, arr2) {
return arr1.length === arr2.length && arr1.every((v, i) => {
return v === arr2[i]
})
}