关于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里进行函数编程,这些工 ...
随机推荐
- MFC 错误异常,用vs添加资源并为资源定义类后报错:error C2065 : 未声明的标识符
添加了一个Dialog资源,修改了ID之后右击资源添加了一个类,在类里面有一个成员变量: // 对话框数据 enum { IDD = IDD_GETIN }; 而在编译过程中出现报错,错误代号是 ...
- Web应用与Spring MVC锁session
http是无连接的,所以服务器上并不会为每个用户开辟一个线程,因为没有用户这个说法,但是服务器端是有session的,为了防止一个用户同时有多个请求在处理,spring mvc在处理请求时把sessi ...
- 关于Java中的几种特殊类与接口,及特殊的创建实例的方法
Java中有一些特殊的类,在教材中讲解的不深,但是确实非常有用的,这里总结一下,里面用到的有网上搜到的内容,这里表示下感谢. 一.成员内部类 成员内部类是在一个内中定义的另外一个类,这个类属于其上的类 ...
- Delphi xe5 控件TIdhttp的用法post,get解决中文乱码问题
网络接口如下图: 浏览器演示如下:http://xxx.xxx.xxx.xxx/web/login!doLogin?data={"password":"yy123&quo ...
- Linux Qt 5.x 环境搭建
Step 1 从Qt官网下载 qt-opensource-linux-x64...run 在linux命令行中给予文件可执行权限 $ chmod u+x qt-opensource-linux...r ...
- Split 之特殊用法
java中split()特殊符号"." "|" "*" "\" "]" 关于点的问题是用stri ...
- C# Winform Label内容根据其宽度自动调整字体大小
C# Winform Label内容根据其宽度自动调整字体大小 项目,有个要求,Label中显示的内容,能够根据其宽度自动调整字体的大小进行显示,刚刚开始的时候,总是想着通过不同的方法来直接测量内容的 ...
- “全栈2019”Java第六十九章:内部类访问外部类成员详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- SSO单点登录入门
1,SSO简介 SSO(Single Sign-On,单点登录)是身份管理中的一部分.SSO 的一种较为通俗的定义是:SSO 是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过 ...
- supervisor 使用
cat /etc/supervisord.conf https://www.cnblogs.com/yuzhoushenqi/p/6825204.html http://127.0.0.1:1001/ ...