判断两个数组/对象的值是否相等
程序员文章站
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('顺序未改变')
}
- 纯粹判断值是否相等:(数组的话,先排序,再转化成字符串)
总结说明
==========如果是对象数组格式的,用map提取出有标识符的属性值》数组,再进行转化成字符串