map 重构数组获取数组对象中某一字段组成新数组或者更改属性名字段返回新数组

14 篇文章 0 订阅

一:取数组对象中的某一字段组成新数组

原数组对象:

[   //data的数据
	{"txt":"a","codId":"1","id":1},
	{"txt":"b","codId":"1","id":2},
	{"txt":"c","codId":"1","id":3}
]

希望得到:

['a', 'b', 'c']

实现方法:

let time = data.map(item =>(item.txt))
console.log(time) 
//控制台输出如下
//['a', 'b', 'c']


二:取数组对象的某些字段重命名并组成新数组

希望得到:

[   //data的数据
	{"name":"a"},
	{"name":"b"},
	{"name":"c"}
]

实现方法:

let resion = data.map(item =>({name: item.txt}))
console.log(resion) 
//控制台输出
[   //data的数据
	{"name":"a"},
	{"name":"b"},
	{"name":"c"}
]
let resion= data.map(item =>({name: item.txt + item.id}))
console.log(resion) 
//控制台输出
[   //data的数据
	{"name":"a1"},
	{"name":"b2"},
	{"name":"c3"}
]
let resion= data.map(item =>({name: item.txt + item.id,,id:item.id}))
console.log(resion) 
//控制台输出
[   //data的数据
	{"name":"a1","id":1},
	{"name":"b2","id":2},
	{"name":"c3","id":3}
]
let list ={item:1,age:2,sex:0}
let list2 = [{text:'item',curId:1000},{text:'age',curId:2000},{text:'sex',curId:3000}]
//希望得到
{1000:1,2000:2,3000:0}

实现:
let formEdit={};
 list2 .map((item)=>{//将中括号属性替换为英文
        for(let i in list){
          if(i == item.text){
            let curId= item.curId;
            formEdit[curId] = list[i];
          
          }
        }
    });
     console.log(formEdit)

三:将数组对象里面每个对象的某个属性替换成相同的值

cols:[
{a:1,b:2,c:3},
{a:3,b:1,c:3},
{a:1,b:2,c:3},
]
columns:[
{b:1},
]

希望将 b属性为1的对象里所有c属性的值置为1.否则c属性置为0

先得到:[
{a:1,b:2,c:0},
{a:3,b:1,c:0},
{a:1,b:2,c:0},
]
再得到[
{a:1,b:2,c:1},
{a:3,b:1,c:0},
{a:1,b:2,c:1},
]

方法

 cols = cols.map(function(item, index, cols) {
      item.c = 0;//得到第一步
      columns.map((column,index) =>{
        if(item.b ==  column.b){ item.c = 1;}
      })
      return item;
   })
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值