В массиве javascript, как мне получить последние 5 элементов, исключая первый элемент? [1, 55, 77, 88] // ...would return [55, 77, 88] добавление дополнительных примеров: [1, 55, 77, 88, 99, 22, 33, 44] // ...would return [88, 99, 22, 33, 44] [1] // ...would return [] Ответ 1 Вы можете позвонить: arr.slice(Math.max(arr.length - 5, 1)) Ответ 2 Вот один я не видел, что даже короче 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); Ответ 3 Если вы используете lodash, его еще проще с takeRight. _.takeRight(arr, 5); Ответ 4 Попробуйте следующее: 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(); } Ответ 5 var y = [1,2,3,4,5,6,7,8,9,10]; y.slice((y.length - 5), y.length)
Ответ 2 Вот один я не видел, что даже короче 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);
Ответ 4 Попробуйте следующее: 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(); }