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的使用方法的更多相关文章

  1. javascript reduce map函数方法

    retduce: 对数组中的所有元素调用指定的回调函数.该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供. 语法     array1.reduce(callbackfn ...

  2. JavaScript学习笔记:数组reduce()和reduceRight()方法

    很多时候需要累加数组项的得到一个值(比如说求和).如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来.比如: v ...

  3. js reduce()方法使用

    reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. reduce() 可以作为一个高阶函数,用于函数的 compose. 注意: reduce() 对 ...

  4. 关于reduce输出write方法

    关于hadoop一些自定义输出 code>OutputFormat</code> describes the output-specification for a * Map-Red ...

  5. 数组reduce和map方法

    1.有一个长度为100的数组,请以优雅的方式求出该数组的前10个元素之和 var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],sum ...

  6. ES6之reduce和reduceRight方法应用实例

    for循环是最基本的遍历循环,但是有些时候并不是很实用,且效率和性能较低,故本文列举出工作学习中碰到的reduce方法应用实例,供自己揣摩熟练应用,以提高自己的研发水平和研发效率. reduce方法( ...

  7. 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 ...

  8. JavaScript数组的reduce方法详解

    数组经常用到的方法有push.join.indexOf.slice等等,但是有一个经常被我们忽略的方法:reduce,这个方法简直强大的不要不要的. 我们先来看看这个方法的官方概述:reduce()  ...

  9. 在JavaScript函数式编程里使用Map和Reduce方法

    所有人都谈论道workflows支持ECMAScript6里出现的令人吃惊的新特性,因此我们很容易忘掉ECMAScript5带给我们一些很棒的工具方法来支持在JavaScript里进行函数编程,这些工 ...

随机推荐

  1. Java中的Type

    Type是Java 编程语言中所有类型的公共高级接口(官方解释),也就是Java中所有类型的“爹”:其中,“所有类型”的描述尤为值得关注.它并不是我们平常工作中经常使用的 int.String.Lis ...

  2. 查看Linux系统是32位的还是64位的

    方法1: getconf LONG_BIT 上面显示我先用的是32位的系统. 方法2: .uanme -a .uname -m 显示i686或x86就是32位的系统,显示x86_64就是64位系统. ...

  3. [Windows] IIS6 部署ISAPI

    环境: OS:Windows Server 2003  Enterprise sp2 34位 IIS:6.0 ISAPI: delphi xe 编译的webbroker isapi dll 32位 ( ...

  4. js学习日记-对象字面量

    一.对象字面量语法 var person={ name:'小王', age:18, _pri:233 } 成员名称的单引号不是必须的 最后一个成员结尾不要用逗号,不然在某些浏览器中会抛出错误 成员名相 ...

  5. Android 画指南针

    1.无意看到了一个指南针的UI,在这里简单的模仿了一下.其实就是第画布的一些变化而已. 别人的效果图是: 3.简单说一下思路: 1)首先是画一个黑色圆盘 2) 然后画圆盘上的刻度(就是对Canvas一 ...

  6. 「JXOI 2018」 排序问题

    题目链接 戳我 \(Solution\) \(50\ pts\) 我们来看一下题目,可以很容易的写出来答案的式子: \[\frac{(n+m)!}{a_1!a_2!...a_{tot}!}\] \(a ...

  7. 状压DP学习笔记

    有的时候,我们会发现一些问题的状态很难直接用几个数表示,这个时候我们就会用到状压dp啦~~. 状压就是状态压缩,就是讲原本复杂难以描述的状态用一个数或者几个数来表示qwq.状态压缩是一个很常用的技巧, ...

  8. 15、xtrabackup 全量备份

    xtrabackup 全量备份与恢复 安装 yum install https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2. ...

  9. AutoCAD.Net圆弧半径标注延长线

    #region 注册RegApp public static void CheckRegApp(string regapptablename) { Database db = HostApplicat ...

  10. [Flex] 组件Tree系列 —— 支持元素的拖放排序

    mxml: <?xml version="1.0" encoding="utf-8"?> <!--功能描述:支持元素拖放排序--> &l ...