JavaScript 无法通过 ==
===
来判断数组是否相等。
- const arr1 = [1, 2]
- const arr2 = [1, 2]
- console.log(arr1 == arr2)
- // false
这就需要将数组转字符串,然后进行比较。
- console.log(arr1.toString() == arr2.toString())
- // true
如果使用了组件库,比如 element-ui 的 checkout 组件,选择顺序不同,得到的数组顺序就会不同。
- ['A', 'B', 'C']
- ['B', 'C', 'A']
这些比较出来也会是 false
,还需要对数组进行排序:
- const arr1 = ['A', 'B', 'C']
- const arr2 = ['B', 'C', 'A']
- console.log(arr1.sort().toString() == arr2.sort().toString())
- // true
这样就可以了。
未经允许不得转载:前端资源网 - w3h5 » JavaScript比较两个数组是否相等(多选题答案判断)