【发布时间】: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