javascript-learner/6.2RestSpread/t.js
2024-06-22 23:54:56 +02:00

48 lines
1.3 KiB
JavaScript

console.log("Rest and Spread Operator");
console.log("Rest Operator");
// Rest Operator
function sumAll(...args){
let sum = 0;
for(let arg of args){
sum += arg;
}
return sum;
}
console.log(sumAll(1,2,3,4,5));
function showName(firstName, lastName, ...titles) {
console.log( firstName + ' ' + lastName ); // Julius Caesar
// 剩余的参数被放入 titles 数组中
// i.e. titles = ["Consul", "Imperator"]
console.log( titles[0] ); // Consul
console.log( titles[1] ); // Imperator
console.log( titles.length ); // 2
}
showName("Julius", "Caesar", "Consul", "Imperator");
console.log("Attention: Rest parameters should be at the end");
console.log("Attention: Only one rest parameter is allowed");
consoel.log("Attention: Arrow functions do not have 'arguments' object");
console.log("Spread Operator");
// Spread Operator
let arr = [3, 5, 1];
console.log(Math.max(arr)); // NaN
console.log(Math.max(...arr)); // 5
let arr1 = [1, -2, 3, 4];
let arr2 = [8, 3, -8, 1];
console.log(Math.max(...arr1, ...arr2)); // 8
let merged = [0, ...arr1, 2, ...arr2];
console.log(merged);
console.log("Attention: Spread operator can be used to merge arrays");
console.log("Attention: Spread operator can be used to convert string to array");
console.log("Attention: Spread operator can be used to convert arguments to array");