数组扩展运算符 -ES6】的更多相关文章

1.将数组转为以逗号分隔的序列 2.格式 ...[1,2,3 ] 3.若扩展运算符后面是一个空数组,则不产生效果[ ] 4.用于函数参数 function add(x,y) { console.log(x) // 1 console.log(y) // 2 } var arr = [1,2] add(...arr); 5.替代 apply var arr = [1,45,676,8]; var num = Math.max(...arr); console.log(num); 6.合并数组 va…
1 扩展运算符的运用 (1)复制数组 数组是复合的数据类型,直接复制的话,只是复制了指向底层数据机构的指针,而不是克隆一个全新的数组; const a1=[1,2]; const a2= a1; a2[0] = 2; a1 //[2,2]; 上面代码中,a2并不是a1的克隆,而是指向同一份数据的另一个指针,修改a2,会直接导致a1的变化 : 扩展运算符提供了复制数组的简便写法 const a1=[1,2]; //写法一 const a2 =[...a1]; //写法二 const [...a2]…
js中每一个Function对象都有一个apply个一个call方法: function.apply(thisObj,[argArray]); function.call(thisObj,arg1,arg2); 一般来说this总是指向调用某个方法的对象,但是使用call和apply方法,就会改变this的指向. 调用对象的一个方法,用一个另一个对象替换当前的对象. demo: A.apply(B,arguments);||A.call(B,arg1,arg2); A对象应用B对象的方法,将一个…
含义 扩展运算符( spread )是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[, , ]) // 1 2 3 console.log(, ...[, , ], ) // 1 2 3 4 5 [...document.querySelectorAll('div')] // [<div>, <div>, <div>] 该运算符主要用于函数调用. function push(array, ...i…
参考: es6 扩展运算符 三个点(...) 经常回顾,方能真正掌握. 一.含义 扩展运算符( spread )是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) // 1 2 3 console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5 [...document.querySelectorAll('div')] // [<div>, <div>, <di…
扩展运算符:…运算符 好处:简化书写长度,提升开发效率. 具备两个功能: 1.展开功能 2.收集功能 所以…运算符又可以叫做展开收集运算符. 他的不同作用需要在不同场景中使用才会出现: a.读 - 展开作用,输出.打印的情况.读完输出散列的值 读取arg2这个数组,并返回散列的项 var arg2 = [1,2,3,4,5]; console.log(...arg2);// 读,展开数组成散列的项 b.写 - 收集作用,写入.整合的情况.写完得到一个数组 把实参这些散列项写入到args里边并返回…
1.默认值 现在可以在定义函数的时候指定参数的默认值了,而不用像以前那样通过逻辑或操作符来达到目的了. function sayHello(name){ //传统的指定默认参数的方式 var name = name||'hubwiz'; document.write('Hello '+name); } //运用ES6的默认参数 function sayHello2(name='hubwiz'){ document.write(`Hello ${name}`); } sayHello(); //输…
对象的扩展运算符(...),用于取出参数对象中的所有可遍历属性,然后拷贝到当前对象之中 对象扩展运算符: 1. 复制对象 let obj1 = { x: 1, y: 2, z: 3 } let obj2 = { ...obj1 } obj2 = { x: 1, y: 2, z: 3 } 2. 合并对象 let obj1 = { x: 1, y: 2, z: 3 } let obj2 = { x: 4, y: 5, z: 6 } let obj3 = { ...obj1, ...obj2 } ob…
之前在set,map里面有提过扩展运算符的概念,但是今天偶然遇到一个问题,类似于扩展运算符的经典用法,突然发现对其了解不是很深,所以再来整理一下扩展运算符的相关知识. 重点:扩展运算符内部调用的是数据结构的 Iterator 接口 经典案例: // 去除数组的重复成员 [...new Set(array)] 一.含义 扩展运算符(spread)是三个点(...).它好比 rest 参数注①的逆运算,将一个数组转为用逗号分隔的参数序列.(rest参数为形参,扩展运算符是实参,理解为相反) cons…
1.符号都是使用:... 2.扩展运算符:把数组或者类数组展开成用逗号隔开的值 3.rest参数:把逗号隔开的值组合成一个数组   扩展运算符: function foo(a, b, c) { console.log(a, b, c); } let arr = [1, 2, 3] foo(...arr) 如果用解构赋值,那么foo的参数也要是数组,使用扩展运算符就不需要. 将两个数组合并成一个数组: let arr1 = [1, 2, 3] let arr2 = [4, 5, 6] // ES5…