对象数组的常用操作

一、从数组中取出符合条件的某一个对象

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}]
    

下方是我微信公众号的二维码,可以扫码关注以下,后期博文推送主要在公众号上面,有什么问题也可以通过公众号跟我发消息哦~
在这里插入图片描述

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值