Javascript 返回函数的最后一个参数

Javascript 返回函数的最后一个参数,javascript,function,arguments,parameter-passing,Javascript,Function,Arguments,Parameter Passing,我在尝试查找列表的最后一个元素时遇到了问题: 职能: function last(list) { } “list”可以是数组、字符串或参数列表。我有数组和字符串出现的代码,但不确定如何返回最后一个参数。这就是我到目前为止所做的: function last(list){ if(typeof list === 'string') { return list.charAt(list.length - 1); } if(typeof list === 'object') {

我在尝试查找列表的最后一个元素时遇到了问题:

职能:

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 === '...') {
    .....
  }
}
帮帮一个兄弟


谢谢。

您可以使用
参数获得一个类似数组的对象,该对象包含传递给函数的所有参数(除非它是箭头函数)

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

定义“参数列表”。您的意思是说,
last
可能传递了多个参数,或者
list
的值可能是一个数组?“'list'可以是数组、字符串或参数列表”JavaScript除了数组或iterable之外,没有“list”的固有概念。你所说的“论点列表”是什么意思?还要注意,您对数组的检查几乎肯定是不正确的;您可能需要
if(Array.isArray(list))
(尽管对于类型化数组来说这是错误的)。这可以概括为
if(list.hasOwnProperty('length'))返回列表[list.length-1]
。对于没有
length
属性的任何其他内容,“last”一开始都是未定义的。很抱歉,我不清楚,这将是一个传递多个参数的示例:(last(1,“b”,3,“d”,5))@georgeperry为什么要这样做?很明显,
5
是最后一个值。