欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断两个数组/对象的值是否相等

程序员文章站 2022-04-09 20:01:18
...

在对表格顺序排序保存时,要先判断此时的数据顺序是否等于刚开始的顺序,此时需要进行值的判断。

1、数组和对象是引用值类型,直接===判断的是引用地址(只要是New出来都会不一样)

2、解决方法:

1)判断顺序+值是否相等:(转换成字符串进行判断)

[1, 2, 3].toString() === [1, 2, 3].toString()
[1, 2, 3].split(",") === [1, 2, 3].split(",")

##如果是对象数组

  // 判断顺序是否改变
      const beforeData = this.normalFunctionData.map(item => item.id)
      const afterData = this.settingDataSort.map(item => item.id)
      if (beforeData.toString() === afterData.toString()) {
        this.$message.warn('顺序未改变')
      } 
  1. 纯粹判断值是否相等:(数组的话,先排序,再转化成字符串)

总结说明

==========如果是对象数组格式的,用map提取出有标识符的属性值》数组,再进行转化成字符串