一、数组对象中id判断添加字段
dispatchUserAdd() {
this.tableData = this.tableData.map((v) => {
if (v.id === this.orderId) {
return { ...v, ...{ user: this.userName, userId: this.userId } };
}
return v;
});
},
二、 添加相同字段
let arr = [
{ name: "lilei", age: "25" },
{ name: "nike", age: "23" },
{ name: "alisa", age: "23" },
];
arr.forEach(v=>{
v['sex']='men';
})
三、数组中的对象中筛选出具有非空数组字段的对象,并返回这些字段的数组
let abc = [ {name:'123',list:[{age:17},{age:18}],page:'liming'},
{name:'456',list:[{age:17},{age:18}],page:'liming'},
{name:'789',list:[],page:'liming'},
{name:'012',list:[{age:16}],page:'liming'},
]
const fieldsWithValues = abc.filter(obj =>
Object.entries(obj).some(([key, value]) => Array.isArray(value) && value.length > 0)
);
console.log(fieldsWithValues);
四、数组中的对象添加一个自增的id字段
let objectsArray = [
{ name: 'Object1' },
{ name: 'Object2' },
{ name: 'Object3' }
];
let objectsWithIds = objectsArray.map((obj, index) => ({
...obj,
id: index + 1,
}));
console.log(objectsWithIds);
五、对比数组中,根据每个字段相同,过滤出不同的数组对象返回
let arrData = [
{ id: 1, name: 'aa' },
{ id: 2, name: 'bb' },
{ id: 3, name: 'cc' },
{ id: 4, name: 'dd' },
{ id: 5, name: 'ee' }
]
let serviceList = [
{ id: 2, name: 'bb' },
{ id: 3, name: 'cc' },
{ id: 5, name: 'ee' }
]
let serviceIdList = serviceList.map((item) => item.id)
let resultArr = arrData.filter((item) => !serviceIdList.includes(item.id))
console.log(resultArr,'123')
六、## 多维数组根据对应字符串元素获取其后面的value
const result=[['phone',1000],['mac',300],['imac',2394]]; const findPrice=(data,name)=>{ return new Map(data).get(name); } console.log(findPrice(result,"mac"));
//传入数组和你想获取的商品名,得到300
七、## 判断数组对象中是否包含某对象
let data = [{name:'你有事吗'},{name:'嗨嗨'},{name:'溜溜梅'},];//数组对象 let val = {name:'溜溜梅'}; console.log(JSON.stringify(data).indexOf(JSON.stringify(val)) !== -1); //返回true
八、在一个数组中push一个对象或元素,但是不管该数组中是否含有当前元素,每点击一次按钮都会添加进去。如何避免呢?
let flag = true;
let msg = '';
let arr = []
if(arr.length<6){
arr.forEach(item=>{
if(data.id===item.id){ // 对象里的唯一标识id
msg = '请勿重复添加!'
flag = false;
}
})
}else{
msg = '最多添加6个!'
flag = false;
}
if(flag){ // 如果满足条件-数组长度小于6,当前添加的值在数组里不存在,就把值添加进去
arr.push(data)
}else{ // 否则弹出提示信息
alert(msg)
}