2013-03-28 3 views
1

В моем коде, у меня есть много кода, как это:Ссылка на последний элемент массива в Javascript?

my_array[my_array.length - 1] = sth; 

Можно ли определить простую переменную, чтобы указать на последний элемент массива, как это:

var ref = (&|*, sth like that) my_array[my_array.length - 1]; 
ref = sth; 
+0

- ваша цель заменить последний элемент массива? – OJay

+0

Да, много повторяющихся 'my_array [my_array.length - 1]', вроде noising – nfpyfzyf

+1

Сплав() работает для вас ?, с отрицательным индексом, т.е. my_array.splice (-1,1, sth) – OJay

ответ

5

Вы будете иметь изменить прототип массива, и использовать его, как показано ниже:

var arr = ['a','b','c']; 

Array.prototype.last=function() { 
    if(this.length >= 1) { 
     return this[this.length - 1]; 
    } 
    else { 
     return null; 
    } 
}; 

arr.last(); 

Shuold работы - вы можете проверить его в Chrome JS консоли.

+0

+1 Был вот-вот предложит то же самое. – Guffa

+0

Да, я думаю, что это лучший способ достичь этой цели. – Karol

+1

Другим интересным трюком было бы использовать 'var ref = Array.prototype.last.bind (arr)', чтобы связать функцию с экземпляром, поэтому вам не нужно передавать массив, а только функцию привязки, которая возвращает последний элемент желаемого массива. –

Смежные вопросы