[1, 55, 77, 88] // ...would return [55, 77, 88]
增加額外的例子:在一個JavaScript數組中,如何獲得最後5個元素,不包括第一個元素?
[1, 55, 77, 88, 99, 22, 33, 44] // ...would return [88, 99, 22, 33, 44]
[1] // ...would return []
[1, 55, 77, 88] // ...would return [55, 77, 88]
增加額外的例子:在一個JavaScript數組中,如何獲得最後5個元素,不包括第一個元素?
[1, 55, 77, 88, 99, 22, 33, 44] // ...would return [88, 99, 22, 33, 44]
[1] // ...would return []
試試這個:
var array = [1, 55, 77, 88, 76, 59];
var array_last_five;
array_last_five = array.slice(-5);
if (array.length < 6) {
array_last_five.shift();
}
這隻適用於用戶的特定示例。那是長度爲4的數組。 –
不,不是。適用於任何長度的數組。 -3表示應該返回最後3個元素。 – Arka
讓我改說一下。從評論,*最後五個元素*,你只返回最後3.這是例子。不是規格。 –
這裏是一個我沒有可見,甚至更短的
arr.slice(1).slice(-5)
運行下面的這證明做你想做
var arr1 = [0, 1, 2, 3, 4, 5, 6, 7],
arr2 = [0, 1, 2, 3];
document.body.innerHTML = 'ARRAY 1: ' + arr1.slice(1).slice(-5) + '<br/>ARRAY 2: ' + arr2.slice(1).slice(-5);
另一種方式是將使用lodash https://lodash.com/docs#rest做什麼的代碼片段 - 當然,如果你不介意加載一個巨大的JavaScript縮小文件,如果你試圖從你的瀏覽器。
_.slice(_.rest(arr), -5)
var y = [1,2,3,4,5,6,7,8,9,10];
y.slice((y.length - 5), y.length)
你可以做到這一點!
你的例子是最後3個元素。提供一點你的規格。 –
你總是想要最後5個?或者第一個人,但不管長度? – ShaneBlake
@Jason:他想要五個元素。 – SLaks