es6可变参数-扩展运算符

es5中参数不确定个数的情况下:

//求参数和
function f(){
  var a = Array.prototype.slice.call(arguments);
  var sum = 0;
  a.forEach(function(item){
     sum += item*1;
  })
  return sum;
};
f(1,2,3);//6

es6中可变参数:

function f(...a){
  let sum = 0;
  a.forEach(item =>{
     sum += item*1;
  })
  return sum;
}
f(1,2,3);//6

...a 为扩展运算符,这个 a 表示的就是可变参数的列表,为一个数组

合并数组

//es5
var param = [‘hello‘,true,7];
var other = [1,2].concat(param);
console.log(other);//[1, 2, "hello", true, 7]
//es6
var param = [‘hello‘,true,7];
var other = [1,2,...param];
console.log(other);// [1, 2, "hello", true, 7]

原文地址:https://www.cnblogs.com/lingnweb/p/9882284.html

时间: 2024-08-30 03:13:22

es6可变参数-扩展运算符的相关文章

Vue的三个点es6知识,扩展运算符

Vue中的三个点在不同情境下的意思 操作数组 //里面放自己定义的方法 methods: { /** * 把数组中的元素孤立起来 */ iClick() { let iArray = ['1', '2', '3']; console.log(...iArray); // 打印结果 1 2 3 }, /** * 在数组中添加元素 */ iClick3() { let iArray = ['1', '2', '3']; console.log(['0', ...iArray, '4']); // 打

(...)ES6三点扩展运算符

扩展运算符将一个数组转为用逗号分隔的参数序列 console.log(...[a, b, c]) // a b c

ES6中的扩展运算符

扩展运算符(...)将一个数组转化为参数序列,通常与函数一起使用,show(...['judy','girl']). 数组合并:[...arr1,...arr2,...arr3] 字符串转字符数组:[..."hello"]--------------["h","e","l","l","o"] 将实现Iterator接口的对象转化为真正的数组:[...nodelist],这里的nodeli

JAVA 可变参数 三元运算符

class varargArray { /** 方法的可变参数 (必须放在最后一位) 方法只有一个可变参数 */ public static double getSum(double discount,double...arr){ double sum = 0 ; for (double i: arr) { sum += i; } System.out.println(arr.length); return sum*discount; } public static void main(Stri

2. es6扩展运算符

1. es扩展运算符 扩展运算符将一个数组转为用逗号分隔的参数序列: <script> console.log(...[1, 2, 3]) //1 2 3 // (1)将一个数组,变为参数序列 let add = (x, y) => x + y; let numbers = [1, 2]; console.log(add(...numbers))//3 // (2)使用扩展运算符展开数组代替apply方法,将数组转为函数的参数 // ES5 取数组最大值 console.log(Math

ES6 rest参数和扩展运算符

rest参数 ES6引入了rest参数(形式为“…变量名”).其中rest参数搭配的变量是一个数组可以使用数组的一切操作. 例: function rest(...values){ let sum=0; for(var val of values){ sum+=val; } return sum; } add(1,2,3)//6 值得注意的是rest参数之后不能再有其他参数(只能是最后一个参数)否则会报错. 例: function rest(a,...b,c){ }//报错 函数的length属

es6 默认参数、rest参数、扩展运算符

1.默认值 现在可以在定义函数的时候指定参数的默认值了,而不用像以前那样通过逻辑或操作符来达到目的了. function sayHello(name){ //传统的指定默认参数的方式 var name = name||'hubwiz'; document.write('Hello '+name); } //运用ES6的默认参数 function sayHello2(name='hubwiz'){ document.write(`Hello ${name}`); } sayHello();  //

ES6躬行记(2)——扩展运算符和剩余参数

扩展运算符(Spread Operator)和剩余参数(Rest Parameter)的写法相同,都是在变量或字面量之前加三个点(...),并且只能用于包含Symbol.iterator属性的可迭代对象(iterable).虽然两者之间有诸多类似,但它们的功能和应用场景却完全不同.扩展运算符能把整体展开成个体,常用于函数调用.数组或字符串处理等:而剩余参数正好相反,把个体合并成整体,常用于函数声明.解构参数等.此处的整体可能是数组.字符串或类数组对象等,个体可能是字符.数组的元素或函数的参数等.

ES6的扩展运算符和rest参数

1.扩展运算符(spread)是三个点(...).它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列. 比如 var list=['大家好']: list.length=1.list[0]=大家好: var list2=[...'大家好']: list2.length = 3:list2[0]=大:list2[1]=家:list2[2]=好: 扩展运算符最有用之一是:Math.max(...arr);比较数组中的最大值. 2.rest参数 rest参数(形式为"...变量名"