我需要编写一个返回输入参数中最后一个元素的函数。对于字符串和数组来说这很容易,但是该函数也可以接受参数列表"。我试图用String和Array语法处理这个参数列表,但是我得到的对象没有方法x的错误。这就是我到目前为止所做的:
function last(list){
// return last element of array
if(list instanceof Array){
return list[list.length-1];
}
// return last element of string
else if(typeof list === 'string'){
return list.substring(list.length-1, list.length);
}
}
有没有办法将任意参数列表转换为String或Array?以下是我所说的参数列表的一个例子。
Test.assertEquals(last(1,"b",3,"d",5), 5);
答案 0 :(得分:2)
查看"参数"宾语。像
这样的东西function last(list) {
if (arguments.length > 1) {
return arguments[arguments.length-1];
}
else {
... (as now)
}
答案 1 :(得分:1)
你可以在函数内部调用参数[arguments.length -1],它应该给你最后一个参数,无论类型如何。
以下是参数资源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments