JavaScript——Array——reduce()方法应用
2016-12-30 15:54
344 查看
问题:
从某数据库接口得到如下值:
解决代码:(应用reduce 方法 (Array) (JavaScript))
从某数据库接口得到如下值:
{ 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。
相关文章推荐
- reduce 方法 (Array) (JavaScript)
- javaScript--数组(Array)的reduce方法解析
- reduce 方法 (Array) (JavaScript)
- JavaScript - reduce方法,reduceRight方法 (Array)
- reduce 方法 (Array) (JavaScript)
- reduce 方法 (Array) (JavaScript)
- javascript---数组array方法reduce()
- JavaScript高阶函数 reduce方法的应用和原理分析
- 在JavaScript的ES5版本中Array数组的reduce方法详解
- 关于javaScript Array数组方法的应用
- javascript-reduce 方法 (Array)
- javascript之getAttribute()方法 应用续
- JavaScript的replace方法与正则表达式结合应用讲解
- JavaScript的replace方法与正则表达式结合应用讲解(转)[
- JavaScript的replace方法与正则表达式结合应用讲解
- JavaScript的replace方法与正则表达式结合应用讲解
- javascript 中 Array.sort()方法
- JavaScript 内置对象(一):Array 对象(构造函数、属性和方法)
- Javascript 的 Array 类型方法丢失!
- JavaScript中Array(数组)的属性和方法