题目描述:编写程序,实现一个从小到大的数字排序函数,函数的参数个数是不定。用户可以往函数中传送任意个参数排序的数字,函数返回一个数组,其中填充排序后的数字。程序的最后要求将排序后的数组输出。
function mySort(){ //定义不定参数的排序函数
var args = new Array(); //使用数组作为不定参数的存储容器
for(n = 0; n < arguments.length; n++){ //提取各实参
args.push(arguments[n]); //将实参压入数组
}
for(i = 0; i < args.length; i++){ //足一比较,从小到大进行排序
for(j = 0; j < args.length; j++){
if(args[i] < args[j]){ //两两进行比较 ,数值小的放在前面
temp = args[i];
args[i] = args[j];
args[j] = temp
}
}
}
return args
}
var result1 = mySort(5, 1, 6, 3, 2, 9, 7); //传不定参数的函数
var result2 = mySort(5, 6, 3, 7, 0, 1, 3, 2, 4, 7);
console.log(result1); // 控制台输出结果
console.log(result2);
arguments 对象代表正在执行的函数和调用它的参数。函数对象的 length 属性说明函数定义时指定的参数个数,arguments 对象的 length 属性说明调用函数时实际传递的参数个数。