/* 【js去掉集合List重复项】
删除集合重复项
*dataList* 将要去重集合
*key* 去重依据属性名称
* name 去重后的名称字段
* */
removalDuplicate(dataList, key, name = '') {
let resultList = [];
let resultIds = [];
let tem = {};
for (let i = 0; i < dataList.length; i++) {
if (!tem[dataList[i][key]]) {
let obj = {};
obj[key] = dataList[i][key];
if (name) {
obj[name] = dataList[i][name];
}
resultList.push(dataList[i][key]);
resultIds.push(obj);
tem[dataList[i][key]] = 1;
}
}
return { resultList, resultIds };
},
let { resultIds } = this.removalDuplicate(rows, 'classifNumber', 'classifName');
// 下拉选择事项
chengeItems(itemsNumber) {
let that = this;
if (itemsNumber) {
findAllItem({ itemsNumber }).then(res => {
if (res.code == 200) {
let rows = res.rows;
let { resultIds } = this.removalDuplicate(rows, 'classifNumber', 'classifName');
//console.log('去重:', resultIds);
for (let j = 0; j < resultIds.length; j++) {
//console.log('同类:');
let itemList = [];
for (let i = 0; i < rows.length; i++) {
if (resultIds[j].classifNumber === rows[i].classifNumber) {
itemList.push({ ...rows[i] });
}
//console.log('item列表:' + i, { ...rows[i] }.classifName);
}
resultIds[j]['itemList'] = itemList;
}
this.itemList = resultIds;
console.log('resultIds:', this.itemList);
}
});
}
},
效果图