首页 > 试题广场 >

使用 arguments

[编程题]使用 arguments
  • 热度指数:44196 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
函数 useArguments 可以接收 1 个及以上的参数。请实现函数 useArguments,返回所有调用参数相加后的结果。本题的测试参数全部为 Number 类型,不需考虑参数转换。
示例1

输入

1, 2, 3, 4

输出

10
推荐
本题考查的是对于arguments的使用,arguments能获得函数对象传入的参数组,类似与一个数组,能够通过length获取参数个数,能通过下标获取该位置的参数,但是它不能使用forEach等方法。本题先通过arguments.length获得参数个数,然后循环求和,得出结果。

function useArguments() {
  /*
   因为参数数量不定,可以先获取参数个数arguments.length
   然后循环求值
  */
  //声明一个变量保存最终结果
  var sum = 0;
  //循环求值
  for(var i = 0; i < arguments.length; i++){
      sum += arguments[i];
  }
  return sum;
 }

编辑于 2015-08-18 21:04:44 回复(18)
function useArguments() {
    return [...arguments].reduce((total, cur) => total += cur, 0)
}

发表于 2023-05-09 21:12:37 回复(0)
function useArguments() {
    let result = [];
    for(let o of arguments){
        result.push(o);
    }
    return result.reduce((x,y)=>{
       return x+y;
   });
}
发表于 2023-04-28 14:31:34 回复(0)
function useArguments() {
           let arr=Array.from(arguments)
           return arr.reduce((sumtotal,item)=>{
                           return sumtotal+item
           })
}
发表于 2023-04-21 15:58:34 回复(0)
 function useArguments() {
   
    return eval(Array.from(arguments).join("+")) 
}
// 一行搞定

发表于 2023-03-18 21:29:37 回复(0)
function useArguments() {
    let arr=[...arguments]
    return arr.reduce((a,b)=>a+b)
}
发表于 2023-02-16 00:10:00 回复(0)
function useArguments() {
    let num = 0
    for(key of arguments) {
        num += key
    }
    return num
}

发表于 2022-12-06 17:18:00 回复(0)
function useArguments() {
let arr=[...arguments]
            return arr.reduce((x,y)=>x+y)
}

发表于 2022-11-25 09:53:07 回复(0)
优雅的用伪数组遍历
function useArguments() {
     let count = 0
     for (i in arguments) {
           count += arguments[i]
     }
     return count
}
发表于 2022-11-15 21:23:06 回复(0)
function useArguments(...obj) {
    let sum = 0
    for(let i=0;i<obj.length;i++){
        sum += obj[i]
    }
    return sum
}
发表于 2022-10-29 20:59:07 回复(0)

ES6剩余参数

function useArguments(...canshu) {
    return canshu.reduce((pre,cur)=>cur+pre,0)
}
发表于 2022-10-28 15:03:26 回复(0)
let sum = 0
      for(let i = 0;i<arguments.length;i++)
      {
        sum+=arguments[i]
      }
      return sum
发表于 2022-10-25 12:32:53 回复(0)
function useArguments() {
    return Array.from(arguments).reduce((total,curr)=>{
        return total + curr
    },0)
}

发表于 2022-07-07 14:05:05 回复(0)
function useArguments() {
    let s = 0
    for (let i of arguments) {
        s += i
    }
    return s
}

发表于 2022-06-25 16:13:01 回复(0)
function useArguments() {
  return  [...arguments].reduce((a,b)=>a+b,0)
}
发表于 2022-06-17 21:18:01 回复(0)
function useArguments() {
    let arr = Array.from(arguments)
    let sum = 0
    arr.forEach(item => {
        sum += item
    })
    return sum
}
发表于 2022-03-20 20:28:58 回复(0)
function useArguments() {
    return [...arguments].reduce((prev,cur,index)=>{
        return prev+cur;
    })
}
发表于 2022-02-15 17:43:15 回复(0)
function useArguments() {
    return eval(Array.from(arguments).join('+'));
}

发表于 2022-02-15 16:53:20 回复(0)
function useArguments() {
  let sum = 0
  // let arr = [].slice.call(arguments,0)
  // let arr = Array.prototype.slice.call(arguments,0)
  let arr = Array.from(arguments)
  for(let i = 0; i < arguments.length; i++) {
    sum += arr[i]
  }
  return sum
}
发表于 2022-01-17 15:54:58 回复(0)
function useArguments() {
    return eval([...arguments].join('+'));
    return [...arguments].reduce((pre, cur) => cur += pre);
    return Array.prototype.reduce.call(arguments, function (a, b) { return a + b; });
}

发表于 2022-01-07 09:40:17 回复(1)
function useArguments() {
    return Array.prototype.reduce.call(arguments,(res,cur)=>res+cur,0)
}

发表于 2021-12-05 16:22:29 回复(0)