JavaScript比较两个数组是否相等(多选题答案判断)

2023-08-25 13:12:31 浏览数 (2)

JavaScript 无法通过 == === 来判断数组是否相等。

代码语言:javascript复制
const arr1 = [1, 2]
const arr2 = [1, 2]
console.log(arr1 == arr2)

// false

这就需要将数组转字符串,然后进行比较。

代码语言:javascript复制
console.log(arr1.toString() == arr2.toString())

// true

如果使用了组件库,比如 element-ui 的 checkout 组件,选择顺序不同,得到的数组顺序就会不同。

代码语言:javascript复制
['A', 'B', 'C']
['B', 'C', 'A']

这些比较出来也会是 false ,还需要对数组进行排序:

代码语言:javascript复制
const arr1 = ['A', 'B', 'C']
const arr2 = ['B', 'C', 'A']
console.log(arr1.sort().toString() == arr2.sort().toString())

// true

这样就可以了。

未经允许不得转载:w3h5-Web前端开发资源网 » JavaScript比较两个数组是否相等(多选题答案判断)

0 人点赞