使用array [array.length - 1]或滚动自己的方法是最佳做法吗?

Blo*_*ust 0 language-agnostic arrays

例如(在JavaScript中):

//Not that I would ever add a method to a base JavaScript prototype... 
//(*wink nudge*)...
Array.prototype.lastIndex = function() {          
  return this.length - 1;
}

console.log(array[array.lastIndex()]);
Run Code Online (Sandbox Code Playgroud)

VS

console.log(array[array.length - 1]);
Run Code Online (Sandbox Code Playgroud)

从技术上讲,后一种方法使用少一个字符,但也使用幻数.当然,在这种情况下,可读性可能不会受到影响,但魔术数字很糟糕.使用哪种更好的做法?

KRy*_*yan 6

在许多情况下,我认为1并且0并不真正算作"神奇的数字".当你指的是最后一项(即length - 1)的索引时,那肯定是我不会考虑1一个幻数的一次.