js 用下标获取map值_js map方法处理返回数据,获取指定数据简写方法

本文介绍了如何使用JavaScript的map方法处理后端返回的数据,以获取指定的字段,如id和name。通过示例展示了使用正常函数和ES6箭头函数的不同写法,并解释了解构赋值的概念,帮助理解简化后的代码。
摘要由CSDN通过智能技术生成

map方法处理返回数据,获取指定数据简写方法

前言

后端返回数据为数组列表时,通常比较全面,包含了很多不需要的数据,可以通过 map 方法处理返回数据,筛选出想要的数据

例如

// 返回数据

res = [{

id: 1,

name: 'zhangsan',

age: 16,

gender: 0

}, {

id: 2,

name: 'lisi',

age: 20,

gender: 1

}]

如果只想获取 res 每项中的 id 和 name

即为

// 处理后的数据

data = [{

id: 1,

name: 'zhangsan'

}, {

id: 2,

name: 'lisi'

}]

最简单的方法就是 for 循环遍历,本文不讲 for 循环,讲一下 map 的简单写法

进入正题

下面统一按照上述的 res 数据为例子

首先从 map 最简单的方式实现 data

const data = res.map(function(item) {

return {

id: item.id,

name: item.name

}

})

当然可以使用 ES6 箭头函数简化

const data = res.map(item => ({ id: item.id, name: item.name }))

注意:这里需要注意的是使用箭头函数返回一个对象时不能直接去写 {} ,要在对象后面加上括号 ({}),防止和函数后面的大括号冲突而报错

上面是正常的写法,利用 ES6 解构赋值,还可以简写为如下

骚操作来了

const data = res.map(({ id, name }) => ({ id, name }))

怎么样,是不是变得非常简洁,但是会有一部分人在这里懵逼了,不要着急,往下看

其实真正理解起来也不难,从上述简单的方式来看,箭头函数前面的参数 ({id, name}) 实际上是把 item 解构成了两个变量,其中这两个变量是 item 中存在的,即为 id, name ,然后后面是返回了一个对象,就可以用前面两个解构出来的变量了,由于 key 和 value 一样,所以写成了对象的简写方式

但是这种只适用于 key 值一样的情况,如果想换 data 的 key 值怎么办呢

例如想让处理后的 data 的 id 变为 code

// 处理后的数据

data = [{

code: 1,

name: 'zhangsan'

}, {

code: 2,

name: 'lisi'

}]

聪明的同学已经懂了,这个时候只需要操作后面返回的数据即可

即为

const data = res.map(({ id, name }) => ({ code: id, name }))

完结撒花

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值