【发布时间】:2014-12-13 17:15:56
【问题描述】:
我在 javascript 中有一个函数,我需要在其中检索列表的最后一个元素。列表可以是数组、字符串、数字列表(不是数组)。我尝试将列表转换为字符串,然后转换为数组并按索引检索它,但这不起作用。
这是我试过的代码:
function last(list){
var array = new String(list);
array = array.split("");
return array[array.length-1];
}
我不明白问题出在哪里,因为测试套件显示的是 Expected: 5 而不是 got: 5 我正在使用代码大战并且没有编写测试。它期待一个数字并得到一个字符串'5'吗?我还不太了解松散类型语言中的类型。
【问题讨论】:
-
list in numbers (not array)- 那会是什么? -
你能发布测试吗?
-
@thefourtheye 这是测试之一 Test.assertEquals(last(1,"b",3,"d",5), 5);//-- arguments
-
@NicolásStraubValdivieso 以下是我可见的测试,它在测试失败后停止运行,因此它在第一个停止。 Test.assertEquals(last([1,2,3,4,5]), 5); //-- 数组 Test.assertEquals(last("abcde"), "e"); //-- 字符串 Test.assertEquals(last(1,"b",3,"d",5), 5);//-- 参数
-
Is it expecting a Number and getting a String '5' ?很有可能!
标签: javascript arrays type-conversion