剩余运算符--...
01-剩余运算符 …
<script>// 剩余运算:...,获取剩余的数据let hero = {name: '德莱厄斯',age: 18,gender: '小C',skill: [{skill1: '自残打击'},{skill2: '大杀四方'},{skill3: '无情铁手'}]}// 需求:解构hero中的数据,skill单独取出来,其他的方法一起const { skill, ...others } = heroconsole.log(skill, others)// 将其他的内容(剩余的内容)放到一个变量里面// 如果原来是对象:产生的就是对象;如果原来是数组,产生的就是数组// 剩余运算的其他应用// 1. 获取多余的实参(使用较多)function max(first, ...others) {// 安全思想:保证代码一定能得到正确的结果if (first == undefined) return false// 判定first是不是一个数字if (isNaN(first)) return false// 第一个实参给first赋值// 其他的都给others:others是一个数组// console.log(first, others)// others比arguments好// 1. arguments不管有没有形参:获取所有实参// 2. arguments是伪数组:数组API不能用,others是数组:所有的数组API都可以使用let max = first// others.forEach((item) => {for (let i = 0; i < others.length; i++) {// 添加一个判定if (parseFloat(others[i]) != others[i]) return falseif (others[i] > max) max = others[i]}// })return max}max(1)max(1, 2, 3, 4, 5)// 2. 可以给实参用:名字叫做打散(可以打散数组)let ages = [18, 20, 30, 40, 14, 60]// 求ages的最大值// max(ages)// 打散数组(用于实参)max(...ages) // === max(18, 20, 30, 40, 14, 60)function log() {console.log.call(console, ...arguments)}log(1, 2, 3, 4, 5, 6)</script>
注意:
1. // 将其他的内容(剩余的内容)放到一个变量里面
// 如果原来是对象:产生的就是对象;如果原来是数组,产生的就是数组
2. // others比arguments好
// 1. arguments不管有没有形参:获取所有实参
// 2. arguments是伪数组:数组API不能用,others是数组:所有的数组API都可以使用
3.可以给实参用:名字叫做打散(可以打散数组)
剩余运算符--...相关推荐
- 20181210-es6(letconst解构模版字符串原理 展开运算符、剩余运算符运用 深拷贝原理 reduce原理 箭头函数)...
变量声明 var 特点: 1.可以重复声明 2.不能定义常量 3.不支持块级作用域 复制代码 let //1.不存在预解释 变量提升 //2.暂时性死区 //3.具备块级,同一块内不能重复声明;let ...
- 剩余运算符和展开运算符
剩余运算符:rest运算符 // 1.一定在最后// 2.剩余运算符是数组,arguments是一个伪数组function add(...rest) {console.log(arguments); ...
- ES6精华: 解构运算符 扩展运算符 剩余运算符
http://www.tuicool.com/articles/26bAzmm 转载于:https://www.cnblogs.com/xuezizhenchengxuyuan/p/6378382.h ...
- c语言扩展运算符是什么,扩展运算符(spread)是三个点(…)
扩展运算符(spread)是三个点(-),将一个数组||类数组||字符串转为用逗号分隔的序列. js中用来对数组进行操作,把数组里面的东西统统拿出来 一.展开数组 //展开数组 let a = [1, ...
- poj doubles_余数运算符在Java中用于Doubles
poj doubles 我在OSU任教已近两年了,这总是令我惊讶,我从学生那里学到了多少. 例如,过去, 我让学生写一些我不理解的奇怪代码 . 在这一点上,即使经过300多个博客文章, 几个YouTu ...
- JS解构和 ... 运算符
1. 数组解构 使用方括号[] 1.1 交换变量 let a = 1; let b = 2; let c = 3; [a, b, c] = [c, b, a]; console.log(a); // ...
- 扩展运算符的作用以及使用场景
扩展运算符 对象的扩展运算符(-)用于取出参数对象中的所有可遍历属性,拷贝到当前对象中 在JS中,扩展运算符(spread)是三个点-,剩余运算符(rest)同为三个点(-) 我们可以把-理解为展开运 ...
- JavaScript 简史
本文转载自:众成翻译 译者:网络埋伏纪事 审校: 为之漫笔 链接:http://www.zcfy.cc/article/2389 原文:https://auth0.com/blog/a-brief-h ...
- java数组去重_数组去重12种方案-你要的全在这
首先我们先温习一下数组的常用的方法 pop push shift unshift slice splice sort reverse concat join indexOf lastIndexOf m ...
最新文章
- printf()详解之终极无惑-转载
- CCCC L2 007 家庭房产 并查集
- 常用命令-tar 加密
- 我自横刀向天笑,我命由我不由天
- 为Unity项目生成文档(一)
- oracle解压后不能运行,求救:oracle10安装后net Manager等工具无法启动
- sql for xml path用法
- PHP编写两个数的最小公倍数,两个数的最小公倍数怎么求
- selenium怎样定位web提示语
- C++作业5 求和 、数组选择
- SANGFOR SCSA——信息安全概述
- 用智能ABC关闭程序
- 金山现任CEO张宏江将退休 西山居CEO继任
- 为整数线性规划(integer linear programming,ILP)
- windows10 英文路径下文件显示中文名称
- springboot 集成支付宝支付
- 教你如何轻松打开玻璃瓶的金属盖
- 识别、提取三维超声中标准平面的总结+论文+代码+数据集+练习合集
- 10-237 查询学生表中的女生信息(MSSQL)
- 山东的超级计算机,中支槽波动,山东21日将要开启降雨,超级计算机:开始雨比较弱...
热门文章
- 我和 TiDB 的故事 | 缘份在,那就终是能相遇的
- mysql gitd 主从搭建_Yii2 优雅的 Active Record - SegmentFault 思否
- Fiddler抓取微信公众号数据
- java中文字符_Java 完美判断中文字符
- 旧手机android系统 新手机上,告诉你如何快速把旧手机里的数据导入到新手机里去...
- nodemcu c语言开发,nodemcu连接到中移onenet平台
- 键盘上什么组合键表示热启动计算机,什么是电脑热启动?电脑怎么热启动
- 你的Java代码对JIT编译友好么?
- OSChina 周三乱弹 ——你有社交恐惧症么?
- 机器人网格行走-左上到右下的N种方法