一、从数组中取出符合条件的某一个对象
let obj = data.find(element => element.id = this.id);
console.log(obj)
二、使用map取出数组中的一项或多项组成一个新数组,取出数组对象中的id(使用情景:选中表格的某一项或几项,取出选中数据的id)
let arr = data.map(item => item.id)
console.log(arr)
// 举例 eg:
let data = [{name:'y1',id:'1'},{name:'y2',id:'2'}]
let arr = data.map(item => item.id)
console.log(arr) // 结果为 ["1", "2"]
let data = [{name:'y1',id:'1',age:18},{name:'y2',id:'2',age:20}]
let arr = data.map(item => {
let newItem = {
name: item.name,
age:item.age
};
return newItem
})
console.log(arr) // [{name: 'y1', age: 18},{name: 'y2', age: 20}]
三、从对象数组中取出对象中的某几个属性的,组成一个新数组
let arr = [];
data.forEach(element => {
arr.push({ name: element.name, id: element.id })
});
四、从对象数组中取出对象中的某一项属性值,组成一个新的数组
let arr = [];
arr = data.map(element => element.name);
五、删除数组对象中指定属性的那个一对象
let arr = [{name:'ly', age:18},{name:'ll', age:20}];
arr = arr.filter(item => item.age != 18);
六、如果对象中的属性名为中文,怎么取属性名和属性值
<div v-for="(item,index) in menuList" :key="index">
<div v-for="(key,value,index) in item" :key="index">
{{key}}---{{value}}
</div>
</div>
六、删除对象数组中索引为index的某一项
let arr= [{name: 'yan',age:18},{name: 'yy',age:20}]
arr.splice(index,1)
// eg: arr.splice(0,1) 结果为: arr = [{name: "yan", age: 18}]
七、找出一个对象数组array中的某一项是否在另一个对象数组array1中,如果包含,替换掉array1中的那一项
// eg:
let array = [
{ name: "baby", age: 3 },
{ name: "bibily", age: 20 },
{ name: "ly", age: 20 },
];
let array1 = [
{ name: "girl", age: 16 },
{ name: "boy", age: 18 },
{ name: "bibily", age: 18 },
];
// 找出array1中包含array某一项的值的那一项
for (let list of array) {
let obj = array1.find((item) => {
return item.name == list.name;
});
console.log(obj, 111); // 打印出来的结果为: undefined 、 {name: "bibily", age: 18} 、 undefined
// 如果有相同的值那么就返回对应的对象 如果没有则返回 undefined
}
for (let list of array) {
// array中的某一项在array1中的索引
let index = array1.findIndex((item) => {
return item.name == list.name;
});
console.log(index, 222); // 打印出来的结果为: -1 2 -1
//如果能找到就返回对应的索引,如果找不到,就返回-1
if (index > 0) array1[index] = list; // 将array中的某一项替换到array1
console.log(array1, 333); // 打印出来的结果为:[{name: "girl", age: 16},{name: "boy", age: 18},{name: "bibily", age: 20}]
下方是我微信公众号的二维码,可以扫码关注以下,后期博文推送主要在公众号上面,有什么问题也可以通过公众号跟我发消息哦~