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.可以给实参用:名字叫做打散(可以打散数组)

剩余运算符--...相关推荐

  1. 20181210-es6(letconst解构模版字符串原理 展开运算符、剩余运算符运用 深拷贝原理 reduce原理 箭头函数)...

    变量声明 var 特点: 1.可以重复声明 2.不能定义常量 3.不支持块级作用域 复制代码 let //1.不存在预解释 变量提升 //2.暂时性死区 //3.具备块级,同一块内不能重复声明;let ...

  2. 剩余运算符和展开运算符

    剩余运算符:rest运算符 // 1.一定在最后// 2.剩余运算符是数组,arguments是一个伪数组function add(...rest) {console.log(arguments); ...

  3. ES6精华: 解构运算符 扩展运算符 剩余运算符

    http://www.tuicool.com/articles/26bAzmm 转载于:https://www.cnblogs.com/xuezizhenchengxuyuan/p/6378382.h ...

  4. c语言扩展运算符是什么,扩展运算符(spread)是三个点(…)

    扩展运算符(spread)是三个点(-),将一个数组||类数组||字符串转为用逗号分隔的序列. js中用来对数组进行操作,把数组里面的东西统统拿出来 一.展开数组 //展开数组 let a = [1, ...

  5. poj doubles_余数运算符在Java中用于Doubles

    poj doubles 我在OSU任教已近两年了,这总是令我惊讶,我从学生那里学到了多少. 例如,过去, 我让学生写一些我不理解的奇怪代码 . 在这一点上,即使经过300多个博客文章, 几个YouTu ...

  6. JS解构和 ... 运算符

    1. 数组解构 使用方括号[] 1.1 交换变量 let a = 1; let b = 2; let c = 3; [a, b, c] = [c, b, a]; console.log(a); // ...

  7. 扩展运算符的作用以及使用场景

    扩展运算符 对象的扩展运算符(-)用于取出参数对象中的所有可遍历属性,拷贝到当前对象中 在JS中,扩展运算符(spread)是三个点-,剩余运算符(rest)同为三个点(-) 我们可以把-理解为展开运 ...

  8. JavaScript 简史

    本文转载自:众成翻译 译者:网络埋伏纪事 审校: 为之漫笔 链接:http://www.zcfy.cc/article/2389 原文:https://auth0.com/blog/a-brief-h ...

  9. java数组去重_数组去重12种方案-你要的全在这

    首先我们先温习一下数组的常用的方法 pop push shift unshift slice splice sort reverse concat join indexOf lastIndexOf m ...

最新文章

  1. printf()详解之终极无惑-转载
  2. CCCC L2 007 家庭房产 并查集
  3. 常用命令-tar 加密
  4. 我自横刀向天笑,我命由我不由天
  5. 为Unity项目生成文档(一)
  6. oracle解压后不能运行,求救:oracle10安装后net Manager等工具无法启动
  7. sql for xml path用法
  8. PHP编写两个数的最小公倍数,两个数的最小公倍数怎么求
  9. selenium怎样定位web提示语
  10. C++作业5 求和 、数组选择
  11. SANGFOR SCSA——信息安全概述
  12. 用智能ABC关闭程序
  13. 金山现任CEO张宏江将退休 西山居CEO继任
  14. 为整数线性规划(integer linear programming,ILP)
  15. windows10 英文路径下文件显示中文名称
  16. springboot 集成支付宝支付
  17. 教你如何轻松打开玻璃瓶的金属盖
  18. 识别、提取三维超声中标准平面的总结+论文+代码+数据集+练习合集
  19. 10-237 查询学生表中的女生信息(MSSQL)
  20. 山东的超级计算机,中支槽波动,山东21日将要开启降雨,超级计算机:开始雨比较弱...

热门文章

  1. 我和 TiDB 的故事 | 缘份在,那就终是能相遇的
  2. mysql gitd 主从搭建_Yii2 优雅的 Active Record - SegmentFault 思否
  3. Fiddler抓取微信公众号数据
  4. java中文字符_Java 完美判断中文字符
  5. 旧手机android系统 新手机上,告诉你如何快速把旧手机里的数据导入到新手机里去...
  6. nodemcu c语言开发,nodemcu连接到中移onenet平台
  7. 键盘上什么组合键表示热启动计算机,什么是电脑热启动?电脑怎么热启动
  8. 你的Java代码对JIT编译友好么?
  9. OSChina 周三乱弹 ——你有社交恐惧症么?
  10. 机器人网格行走-左上到右下的N种方法