js数组对象之多条件去重,借助冒泡排序思想
应用场景:
当需要根据多个条件进行数组去重并且将某些属性进行赋值时。
for (let i = 0; i < this.businessPolicyFiles.length - 1; i++) {
for (let j = i + 1; j < this.businessPolicyFiles.length; j++) {
if (this.businessPolicyFiles[i].policyFileType === this.businessPolicyFiles[j].policyFileType &&
this.businessPolicyFiles[i].fileContent.fileName === this.businessPolicyFiles[j].fileContent.fileName) {
if (this.businessPolicyFiles[i].id === '') {
this.businessPolicyFiles[i].id = this.businessPolicyFiles[j].id
this.businessPolicyFiles.splice(j, 1);
} else if (this.businessPolicyFiles[j].id === '') {
[this.businessPolicyFiles[i], this.businessPolicyFiles[j]] = [this.businessPolicyFiles[j], this.businessPolicyFiles[i]];
this.businessPolicyFiles[i].id = this.businessPolicyFiles[j].id
this.businessPolicyFiles.splice(j, 1);
}
}
}
}