/**
* json去重
* @param {*} arr 是要进行去重的json串
* @param {*} attribute 是针对json串中哪个属性进行去重
* @returns
*/
function unique(arr, attribute) {
var new_arr = [];
var json_arr = [];
arr.forEach(item => {
if (new_arr.indexOf(item[attribute]) == -1) {
new_arr.push(item[attribute]);
json_arr.push(item);
}
});
return json_arr;
}
//保存最后列表项
const uniqueData = unique(getData, 'id')
联系人选择
1.新增时,把新增项和用户联系人提交contactList
2.编辑时,table回填contactList ,最后把选择项和用户联系人提交contactList
const onTest = () => {
//用户联系人
const userContact = [
{
id: '1',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
select: true,
},
]
//联系人
const contactList = [
{
id: '1',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
select: true,
},
]
//选项
const contactChoose = [
{
id: '1',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
select: true,
},
{
id: 'jfjf0',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
select: true,
},
]
let getData = [...userContact, ...contactChoose]
/**
* json去重
* @param {*} arr 是要进行去重的json串
* @param {*} attribute 是针对json串中哪个属性进行去重
* @returns
*/
function unique(arr, attribute) {
var new_arr = [];
var json_arr = [];
arr.forEach(item => {
if (new_arr.indexOf(item[attribute]) == -1) {
new_arr.push(item[attribute]);
json_arr.push(item);
}
});
return json_arr;
}
//保存最后列表项
const uniqueData = unique(getData, 'id')
console.log("getData", getData)
console.log("新增提交列表项", uniqueData)
//编辑
const editContact = [...uniqueData]
//选项
const editContactChoose = [
{
id: '1',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
select: true,
},
{
id: 'jfjf0',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
select: true,
},
{
id: 'FKJJKF1',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
select: true,
},
]
console.log("editContact", editContact)
console.log("editContactChoose", editContactChoose)
//保存最后列表项
const uniqueData2 = unique([...userContact, ...editContactChoose], 'id')
console.log("编辑提交列表项", uniqueData2)
}