用JS使用arguments完成任意数的累加和
时间: 2024-05-15 16:15:14 浏览: 90
下面是使用JS的arguments完成任意数的累加和的代码:
```
function sum() {
var total = 0;
for (var i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}
console.log(sum(1, 2, 3, 4, 5)); //输出15
console.log(sum(10, 20, 30)); //输出60
console.log(sum(2, 4)); //输出6
```
在这个函数中,我们使用了JS的内置对象arguments来接收任意个数的参数,并通过for循环遍历arguments数组,将每个参数进行累加并返回总和。
相关问题
js中arguments介绍和使用
在 JavaScript 中,`arguments` 是一个对象,包含了函数被调用时所传入的所有参数。它被称为“伪数组”,因为它有索引和 `length` 属性,但它不是 Array 类型的实例。
使用 `arguments` 可以方便地处理不确定数量的参数。例如,以下是一个计算所有参数之和的函数:
```javascript
function sum() {
let result = 0;
for (let i = 0; i < arguments.length; i++) {
result += arguments[i];
}
return result;
}
console.log(sum(1, 2, 3)); // 输出 6
console.log(sum(4, 5, 6, 7)); // 输出 22
```
在上面的代码中,`arguments` 对象包含了所有传入的参数,使用 `arguments.length` 来获取参数的数量,然后遍历 `arguments` 对象计算所有参数之和。
需要注意的是,`arguments` 对象并不是一个真正的数组,因此不能使用数组的方法和属性,如 `push()`、`pop()`、`slice()` 等,但可以通过 `Array.from()` 方法将其转换成真正的数组:
```javascript
function toArray() {
return Array.from(arguments);
}
console.log(toArray(1, 2, 3)); // 输出 [1, 2, 3]
```
利用 arguments 求任意个数的最大值
可以使用 arguments 对象来获取传入函数的所有参数,然后使用 Math.max() 方法来获取最大值。下面是一个实现示例:
```javascript
function findMax() {
var max = -Infinity;
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
console.log(findMax(1, 2, 3, 4, 5)); // 输出 5
console.log(findMax(10, 20, 30)); // 输出 30
console.log(findMax(-1, -2, -3)); // 输出 -1
```
这个函数可以接收任意个数的参数,并返回它们中的最大值。
阅读全文