TypeScript函数中的剩余参数
有一种情况,我们不知道要向函数传入多少个参数,这时候我们就可以使用剩余参数来定义。
剩余参数语法允许我们将一个不确定数量的参数作为一个数组传入。
函数的最后一个命名参数 restOfName 以 ... 为前缀,它将成为一个由剩余参数组成的数组,索引值从0(包括)到 restOfName.length(不包括)。
function addNumbers(...nums:number[]){
var i;
var sum:number=0;
for(i=0;i<nums.length;i++){
sum=sum+nums[i];
}
console.log("和为:",sum);
}
addNumbers(1,2,3);
addNumbers(10,10,10,10,10);编译运行:

//简单求和函数
// 这个函数接受任意数量的数字参数,并返回它们的总和。
function sum(...numbers:number[]):number{
return numbers.reduce((acc,curr)=>acc+curr,0);
}
console.log(sum(1,2,3));
console.log(sum(4,5));
console.log(sum(10));
// 处理字符串数组
function concatenateStrings(...strings:string[]):string{
return strings.join(' ');
}
console.log(concatenateStrings('hello','world'));
console.log(concatenateStrings('typescript','is','awesome'));
//混合类型参数
// 虽然剩余参数通常用于同类型参数的集合,
// 但你也可以将它们作为任意类型的数组来处理,
// 这在某些情况下可能很有用。
// 例如,你可以创建一个函数,它接受任意数量和类型的参数,并返回它们的类型信息。
function logTypes(...args:any[]):void{
args.forEach((arg, index)=>{
console.log(`Argument ${index+1}:${typeof arg}`);
});
}
logTypes(42,'hello',true, {key:'value'});编译运行:

吐槽一下


还没有留言,还不快点抢沙发?