【问题标题】:Return the last argument of a function [closed]返回函数的最后一个参数[关闭]
【发布时间】:2018-05-10 14:33:27
【问题描述】:

我在尝试查找列表的最后一个元素时卡住了:

功能:

function last(list) {

}

'list' 可以是数组、字符串或参数列表。我有出现数组和字符串的代码,但不确定如何返回最后一个参数。这是我目前所拥有的:

function last(list){
  if(typeof list === 'string') {
    return list.charAt(list.length - 1);
  }
  if(typeof list === 'object') {
    return list[list.length - 1];
  }
  if(typeof list === '...') {
    .....
  }
}

帮助一个兄弟!

谢谢。

【问题讨论】:

  • 定义“参数列表”。您的意思是last 可能会传递多个参数,或者list 的值可能是arguments object?
  • "'list' 可以是数组、字符串或参数列表" JavaScript 除了数组或可迭代之外,没有“列表”的内在概念。 “参数列表”是什么意思?另请注意,您对数组的检查几乎肯定是不正确的;您可能想要if (Array.isArray(list))(尽管对于 typed 数组来说这将是错误的)。
  • 这主要可以概括为if (list.hasOwnProperty('length')) return list[list.length - 1]。对于没有length 属性的其他任何东西,“last”一开始都是未定义的。
  • 对不起,我一直不清楚,这将是传递多个参数的示例:(last(1,"b",3,"d",5))
  • @georgeperry 你为什么要那样做?很明显,5 是那里的最后一个值。

标签: javascript function arguments parameter-passing


【解决方案1】:

您可以使用arguments 获取包含传递给函数(除非它是箭头函数)的所有参数的类数组对象。

if (arguments.length > 1) {
    var what_I_care_about = arguments[arguments.length - 1];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多