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

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

  1. const arr1 = [1, 2]
  2. const arr2 = [1, 2]
  3. console.log(arr1 == arr2)
  4.  
  5. // false

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

  1. console.log(arr1.toString() == arr2.toString())
  2.  
  3. // true

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

  1. ['A', 'B', 'C']
  2. ['B', 'C', 'A']

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

  1. const arr1 = ['A', 'B', 'C']
  2. const arr2 = ['B', 'C', 'A']
  3. console.log(arr1.sort().toString() == arr2.sort().toString())
  4.  
  5. // true

这样就可以了。

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

赞 (0)
分享到: +

评论 沙发

Avatar

换个身份

  • 昵称 (必填)
  • 邮箱 (选填)