JavaScript——Array——reduce()方法应用
来源:互联网 发布:艾瑞数据 编辑:程序博客网 时间:2024/05/16 11:04
问题:
从某数据库接口得到如下值:
{ rows: [ ["Lisa", 16, "Female", "2000-12-01"], ["Bob", 22, "Male", "1996-01-21"] ], metaData: [ {name: "name", note: ''}, {name: "age", note: ''}, {name: "gender", note: ''}, {name: "birthday", note: ''} ]}rows是数据,metaData是对数据的说明。现写一个函数,将上面的Object转化为期望的数组:[ {name: "Lisa", age: 16, gender: "Female", birthday: "2000-12-01"}, {name: "Bob", age: 22, gender: "Male", birthday: "1996-01-21"},]
解决代码:(应用reduce 方法 (Array) (JavaScript))
var data = { rows: [ ["Lisa", 16, "Female", "2000-12-01"], ["Bob", 22, "Male", "1996-01-21"] ], metaData: [{ name: "name", note: '' }, { name: "age", note: '' }, { name: "gender", note: '' }, { name: "birthday", note: '' }] } var prev = []; var result = data.rows.reduce(function(prev1, cur1) { prev1.push(data.metaData.reduce(function(prev, cur, index) { prev[cur.name] = cur1[index]; return prev; }, {})) return prev1; }, []); console.log(result); console.log(result[0]); console.log(result[1]);
Array.reduce(cal)
,reduce方法接受一个cal回调函数,Array中的每一个元素都会执行这个cal函数。cal函数可以接受多个参数,第一个参数是用作初始值来启动积累。第一次调用cal函数会将此值作为参数而非数组值提供。第二个参数就是Array中的每一个元素,第三个参数是元素对应的IndexFlag。
0 0
- JavaScript——Array——reduce()方法应用
- javascript-reduce 方法 (Array)
- reduce 方法 (Array) (JavaScript)
- javascript---数组array方法reduce()
- javaScript--数组(Array)的reduce方法解析
- JavaScript内置对象——Array方法
- javascript学习——map/reduce
- Javascript—Array
- JavaScript Array "slice","reduce"
- 阶乘——arguments/Array.reduce()与Array.reduceRight()的实践
- JavaScript对象——Array
- JavaScript——Array类
- JavaScript对象——Array
- JavaScript——Array类型
- JavaScript——数组Array
- Javascript Array Reduce 用法解读
- JavaScript Array.prototype.reduce()理解
- 廖雪峰JavaScript教程笔记——map/reduce
- 3dsmax 里”编辑网格“与”编辑多边形“的区别
- 亲测有效!12306火车票买下铺方法(2016.12.30)
- MYSQL 中事物的理解
- SQLite的使用
- Python Qt GUI快速编程-第五章的例子pen的python3+pytq5+Qt Designer实现
- JavaScript——Array——reduce()方法应用
- 重载和重写的区别
- MapList 自己封装的
- makefile文件
- 随便写写
- eclipse import工程出现Some projects cannot be imported because they already exist in the workspace
- STL的erase()陷阱-迭代器失效总结
- RSA算法原理
- 用css写变化时间间隔为3秒