数组方法-reduce 和 ES6扩展运算符
时间:2019-09-19
本文章向大家介绍数组方法-reduce 和 ES6扩展运算符,主要包括数组方法-reduce 和 ES6扩展运算符使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.reduce方法介绍
应用场景1:计算数组中所有值总和
var numbers = [1, 2, 3]; var sumVal = numbers.reduce(function(sum, number) { return sum + number; //0是sum的初始化值 }, 0); console.log(sumVal);
应用场景2:将对象数组中对象的某个属性抽离到另外一个数组中
var colors = [ { color: "red" }, { color: "green" }, { color: "black" } ]; var colorsNew = colors.reduce(function(colorArr, colors) { colorArr.push(colors.color); return colorArr; }, []); console.log(colorsNew); //结果:["red", "green", "black"]
应用场景3:判断字符串中括号是否对称
function balanceParents(string) { return !string.split("").reduce(function(previous, char) { if (char == "(") { return ++previous; } if (char == ")") { return --previous; } return previous; }, 0); } console.log(balanceParents("(())aaadsd))"));//结果:false
2.扩展运算符详细介绍
应用场景1:将单独的数值组成数组返回
//使用"..."(扩展运算符)自动将传入的参数组成数组:numbers function addNumber(...numbers) { return numbers.reduce((sum, item) => { return sum + item; }, 0); } console.log(addNumber(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); //结果:55
应用场景2:组合多个数组
var defaultNum = [1, 2, 3, 4, 5]; var myNum = [10, 20]; var yourNum = [9, 8, 7]; console.log([11, 22, 33, ...defaultNum, ...myNum, ...yourNum]); //结果: [11, 22, 33, 1, 2, 3, 4, 5, 10, 20, 9, 8, 7]
原文地址:https://www.cnblogs.com/yxkNotes/p/11550262.html
- WCF技术剖析之十三:序列化过程中的已知类型(Known Type)
- 44 Amazing Silverlight 2.0 Screencasts
- CaseStudy(showcase)类库篇-用agTweener来实现动画效果
- CaseStudy(showcase)数据篇-Loading的制作
- CaseStudy(showcase)数据篇-加载图片
- CaseStudy(showcase)数据篇-从XML中获取数据
- CaseStudy(showcase)布局篇-全屏效果
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(12)-系统日志和异常的处理②
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(14)-EasyUI缺陷修复与扩展
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(10)-系统菜单栏[附源码]
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(5)-EF增删改查
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(15)-权限管理系统准备
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(11)-系统日志和异常的处理①
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- hibernate系列之四
- vue-html5-editor开发Vue富文本
- mysql系列一
- Spring源码学习笔记(10)——BeanFactoryPostProcessor
- Flutter实现顶部导航栏功能
- Flutter实现侧边栏功能
- 浅谈前后端分离
- ElementUI使用Cascader实现省市区三级联动
- Js给数组对象新增属性
- idea中使用逆向工程----三部曲
- 《JSON笔记之二》----封装JSONUtil
- Spring源码学习笔记(11)——Event体系
- Spring源码学习笔记(12)——IoC容器启动流程
- HashMap详解
- ElementUI使用autocomplete组件输入搜索