在Javascript中使用拆分获取数组的最后一个元素

时间:2012-11-16 13:08:01

标签: javascript

我正在尝试使用javascript对字符串进行拆分后获取最后一个数组项。

    var str ="Watch-The-Crap-456".split('-')[this.length];
    console.log(str);​​​ 
   // want it to console log 456, now it consoles WATCH which is in array[0]

我尝试用[this.length - 1]来获取最后一个数组项,但是它给了我undefined,我知道有些人可能会说创建另一个变量来存储数组,但是看看我们是否可以保存它们很有意思短。

4 个答案:

答案 0 :(得分:30)

怎么样:

"Watch-The-Crap-456".split('-').pop(); // returns 456

答案 1 :(得分:2)

this在deference中定义(或者至少不引用 array )。

天真的方式将是两行:

var str ="Watch-The-Crap-456".split('-');
console.log(str[str.length - 1]);​​​

in action

答案 2 :(得分:1)

你只想要最后一个元素吗?你可以这样做:

var str ="Watch-The-Crap-456";
console.log(str.slice(str.lastIndexOf('-')+1));​

在这种情况下,您必须首先定义您的字符串,这是有道理的。我没有看到任何情况,你想要从字符串文字中获取最后一个元素,你只需要编写str = "456"并完成它。

答案 3 :(得分:0)

使用下划线,它包含在某些其他库/框架中,例如Backbone.js:

_.last(str.split('-'));

请参阅:http://underscorejs.org/#last