js map方法处理返回数据,获取指定数据简写方法
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 }))
完结撒花
文章来源:https://www.csdn.net/tags/Mtjakg0sNzk5NzEtYmxvZwO0O0OO0O0O.html
js map方法处理返回数据,获取指定数据简写方法的更多相关文章
- Oracle中使用游标获取指定数据表的所有字段名对应的字符串
操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来 --Oracle中使用游标获取指定数据表的所有字段名对应的字符串 declare mytablename VARCHAR( ...
- 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换
[源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...
- 通过const app = getApp()实现在 page 页面获取 app.js 定义的属性globalData,即获取全局数据
App.js是项目的入口文件,页面的 page.js 文件会覆盖 app.js文件, App.js文件里面的一些方法: onLaunch : function(){}:这个方法是当小程序加载完毕后就执 ...
- js判断为空Null与字符串为空简写方法
下面就是有关判断为空的简写方法. 代码如下: if (variable1 !== null || variable1 !== undefined || variable1 !== '') { v ...
- Java实现获取命令行中获取指定数据
执行ipconfig /all获取主机所有网卡信息并分析这些字符串,提取出有效网卡(网卡名称,mac地址,ipv4地址,掩码,网关,dns)将网卡插入HashMap中,key是网卡的名称,value是 ...
- Java 获取指定日期的方法汇总
import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; impo ...
- Java 获取指定日期的方法总结
原文地址:http://bdcwl.blog.163.com/blog/static/765222652009104171521/ SimpleDateFormat sdf = new SimpleD ...
- Java 获取指定日期的方法总结 -转
格式化日期 String-->Date 或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M ...
- js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台
setInterval(function(){//ajax 请求后台数据},1000);这个是A页面的定时器然后我在A页面通过其他请求跳转到其他页面之后后台发现A页面的定时器的那个请求仍然在执行为什么 ...
- JS 根据Url参数名称来获取对应的值 方法封装
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
随机推荐
- Java JSON组成和解析
本框架JSON元素组成和分析,JsonElement分三大类型JsonArray,JsonObject,JsonString. JsonArray:数组和Collection子类,指定数组的话,使用A ...
- UIButton选择状态下长按时会变回原始状态
问题大概就像这样 (请无视那红字) 一般而言这是高亮状态的设置有所缺乏.完善代码如下: [_pupilBtn setImage:[UIImage imageNamed:@"a1"] ...
- 【干货】Vue3 组件通信方式详解
前言 毫无疑问,组件通信是Vue中非常重要的技术之一,它的出现能够使我们非常方便的在不同组件之间进行数据的传递,以达到数据交互的效果.所以,学习组件通信技术是非常有必要的,本文将总结Vue中关于组件通 ...
- Freertos学习:01 移植到STM32
--- title: rtos-freertos-01-移植到STM32 EntryName: rtos-freertos-01-porting-on-stm32 date: 2020-06-17 1 ...
- NXP i.MX 8M Mini工业核心板硬件说明书(四核ARM Cortex-A53 + 单核ARM Cortex-M4,主频1.6GHz)
1 硬件资源 创龙科技SOM-TLIMX8是一款基于NXP i.MX 8M Mini的四核ARM Cortex-A53 + 单核ARM Cortex-M4异构多核处理器设计的高端工业 ...
- GUI测试还能这么玩(Page Code Gen + Data Gen + Headless)
标签(空格分隔): GUI测试还能这么玩(Page Code Gen + Data Gen + Headless) 页面对象自动生成 在前面的文章中,我已经介绍过页面对象(Page Object)模型 ...
- Spring注解之参数校验@Validated和@Valid
@Validated和@Valid的区别 Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范,是标准 JSR-303 的一个变 ...
- MathType选项灰色无法点击或者word无法粘贴,治本解决方案
问题描述: mathtype安装过后,word中会出现mathtype的选项,但是这时mathtype中的选项是虚的,无法点击,而且此时word无法粘贴内容. 解决步骤: 1.打开word选项,点击加 ...
- Sql Server 按日统计产量
碰到一个这样的需求,需要查询每天的产量,直接 group 是可以分出不同天的产量,但是如果当天没有生产,就会少一条那一天的记录,而不是那一天显示产量为0,这样不方便前端显示曲线. 于是找到下面的办法, ...
- webpack4.15.1 学习笔记(三) — 模块热替换HMR
目录 模块热替换 HMR HMR监听文件变化 HMR 修改样式表 模块热替换 HMR 允许在运行时更新各种模块,而无需进行完全刷新.不适用于生产环境,意味着应当只在开发环境使用.启用HMR实际上就是更 ...