关于reduce的使用方法
var rowData=[
{data:4,date:'06',code:'cr_3',name:'桥吊3'},
{data:1,date:'03',code:'cr_1',name:'桥吊1'},
{data:2,date:'01',code:'cr_2',name:'桥吊2'},
{data:1,date:'07',code:'cr_1',name:'桥吊1'},
{data:2,date:'02',code:'cr_2',name:'桥吊2'},
{data:1,date:'09',code:'cr_1',name:'桥吊1'},
{data:2,date:'03',code:'cr_2',name:'桥吊2'}
];
var arr=rowData.reduce(function(o,v,i){
if(o[v.code]){
o[v.code].push(v.data);
}else{
o[v.code]=[v.data];
}
return o;
},{})
console.log(arr);
返回的结果
{
"cr_1":[1,1,1],
"cr_2":[2,2,2],
"cr_4":[4]
}
例子:得到字符串数据 “ str1/str2/str3”
需要获取用户选中数的id,拼接成字符串的格式传到后台,原始的做法是在后面加一个字符串,但是这样在最后的时候就需要剪切一次,现在换成在前面拼接“\\”(不用转义有时候会报错)
var data=obj;
var nodes=treeObj.getCheckedNodes(true);//获取ztree选中的树
data.groupTreeCode=nodes.reduce(function(o,v,i){
if(!!0){o+="\\"}
o+=v.original_id;
return o;
})
如下:只是获取选中的叶子节点的id
var data=obj;
var nodes=treeObj.getCheckedNodes(true);//获取ztree选中的树
data.groupTreeCode=nodes.reduce(function(o,v,i){
if(!!o){o+="\\"}
o+=v.original_id;
return o;
})
简单替换for循环
var rowData=[{id:11,text:"千瓦时1"},{id:22,text:"千瓦时2"},{id:33,text:"千瓦时3"}]
var obj=rowData.reduce(function(o,v,i){
debugger;
o[v.id]=v.text;
return o;
},{})
console.log(obj);//{11,"千瓦时1",22,"千瓦时2",33,"千瓦时3"}
关于reduce的使用方法的更多相关文章
- javascript reduce map函数方法
retduce: 对数组中的所有元素调用指定的回调函数.该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供. 语法 array1.reduce(callbackfn ...
- JavaScript学习笔记:数组reduce()和reduceRight()方法
很多时候需要累加数组项的得到一个值(比如说求和).如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来.比如: v ...
- js reduce()方法使用
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. reduce() 可以作为一个高阶函数,用于函数的 compose. 注意: reduce() 对 ...
- 关于reduce输出write方法
关于hadoop一些自定义输出 code>OutputFormat</code> describes the output-specification for a * Map-Red ...
- 数组reduce和map方法
1.有一个长度为100的数组,请以优雅的方式求出该数组的前10个元素之和 var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],sum ...
- ES6之reduce和reduceRight方法应用实例
for循环是最基本的遍历循环,但是有些时候并不是很实用,且效率和性能较低,故本文列举出工作学习中碰到的reduce方法应用实例,供自己揣摩熟练应用,以提高自己的研发水平和研发效率. reduce方法( ...
- Js数组的map,filter,reduce,every,some方法
var arr=[1,2,3,4,5,6]; res = arr.map(function(x){return x*x}) [1, 4, 9, 16, 25, 36] res = arr.filter ...
- JavaScript数组的reduce方法详解
数组经常用到的方法有push.join.indexOf.slice等等,但是有一个经常被我们忽略的方法:reduce,这个方法简直强大的不要不要的. 我们先来看看这个方法的官方概述:reduce() ...
- 在JavaScript函数式编程里使用Map和Reduce方法
所有人都谈论道workflows支持ECMAScript6里出现的令人吃惊的新特性,因此我们很容易忘掉ECMAScript5带给我们一些很棒的工具方法来支持在JavaScript里进行函数编程,这些工 ...
随机推荐
- [LintCode笔记了解一下]80.Median
Given a unsorted array with integers, find the median of it. A median is the middle number of the ar ...
- ASP.NET Identity + Entity Framework 6 注意
最近一个项目使用ASP.NET Identity + Entity Framework 6开发,本来一切正常. 某时注意到,更改密码功能程序执行起来没有问题,界面上也报修改密码成功,但实际上密码并没有 ...
- spring源码研究之IoC容器在web容器中初始化过程
转载自 http://ljbal.iteye.com/blog/497314 前段时间在公司做了一个项目,项目用了spring框架实现,WEB容器是Tomct 5,虽然说把项目做完了,但是一直对spr ...
- redis整理の安全认证
设置客户端连接后进行任何其他指定前需要使用的密码. tips:因为 redis 速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进 行 150K 次的密码尝试,这意味着你需要指定非常 ...
- Verilog MIPS32 CPU(五)-- CP0
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...
- [VSTO] warning CS0467 解决方案
warning CS0467: Ambiguity between method 'Microsoft.Office.Interop.Word._Document.Close(ref object, ...
- Web开发工具箱
1.打印1 Web打印组件jatoolsPrinter 2.打印2Lodop 3.web前端利器 Web Essentials
- jmeter接口测试注意点
1:许多接口访问前会鉴权,不能直接访问.需要给线程组加上cookies管理. 2:第二个接口的入参是第一个接口的返回,需要先调第一个接口,在第一个接口后加后置处理器,如正则表达式提取器,提取参数供后面 ...
- Re:从零开始的Spring Security Oauth2(二)
本文开始从源码的层面,讲解一些Spring Security Oauth2的认证流程.本文较长,适合在空余时间段观看.且涉及了较多的源码,非关键性代码以…代替. 准备工作 首先开启debug信息: l ...
- 【OCP|052】052考试题库又变了,最新052题库收集整理-第15题
15.Which two are true about space management in tablespaces? A) Locally managed tablespaces have eit ...