반응형
배열에서 첫 번째 요소를 제외한 마지막 5개의 요소를 가져오려면 어떻게 해야 합니까?
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 []
문의처:
arr.slice(Math.max(arr.length - 5, 1))
첫 번째 요소를 제외하지 않으려면
arr.slice(Math.max(arr.length - 5, 0))
여기 더 짧은 것은 본 적이 없어요.
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)
lodash를 사용하는 경우 takeRight를 사용하면 훨씬 더 간단합니다.
_.takeRight(arr, 5);
var y = [1,2,3,4,5,6,7,8,9,10];
console.log(y.slice((y.length - 5), y.length))
넌 할 수 있어!
이것을 시험해 보세요.
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();
}
ES6 방식:
어레이를 취득하기 위해 파괴 할당을 사용한다.first
남은 것rest
그 다음 마지막 다섯 가지를 가져가겠습니다rest
슬라이스 방식:
const cutOffFirstAndLastFive = (array) => {
const [first, ...rest] = array;
return rest.slice(-5);
}
cutOffFirstAndLastFive([1, 55, 77, 88]);
console.log(
'Tests:',
JSON.stringify(cutOffFirstAndLastFive([1, 55, 77, 88])),
JSON.stringify(cutOffFirstAndLastFive([1, 55, 77, 88, 99, 22, 33, 44])),
JSON.stringify(cutOffFirstAndLastFive([1]))
);
다음과 같이 한 줄로 실행할 수 있습니다.
const y = [1,2,3,4,5,6,7,8,9,10];
const lastX = 5;
const res = y.filter((val, index, arr) => index > arr.length - lastX - 1);
console.log(res);
.filter((val, index, arr) => index > arr.length - 6)
초보자용 솔루션:
var givme = function(n) {
if(n.length == 1) {
return [];
}
if(n.length > 5) {
return n.slice(n.length-5, n.length);
}
if(n.length <= 5) {
return n.slice(1, n.length);
}
}
// console.log(givme([1, 55, 77, 88, 99, 22, 33, 44]));
array.reverse()
.slice(0,5)
.reverse() //if you wanna keep the order of last 5
const myOriginalArray = [...Array(10).keys()] //making an array of numbers
const instanceFromlastFiveItemsOfMyArray = [
...myOriginalArray.reverse().slice(0,5).reverse()
]
언급URL : https://stackoverflow.com/questions/6473858/how-do-i-get-the-last-5-elements-excluding-the-first-element-from-an-array
반응형
'programing' 카테고리의 다른 글
Laravel PHP 명령을 찾을 수 없습니다. (0) | 2022.10.10 |
---|---|
NodeJs Mysql 오류: ER_PARSE_ERROR 여러 테이블에 삽입 (0) | 2022.10.10 |
JavaScript에서 GET 파라미터를 취득하는 방법 (0) | 2022.09.28 |
한 테이블에서 다른 테이블에 존재하지 않는 레코드 찾기 (0) | 2022.09.28 |
PHP의 세션과 쿠키의 차이점은 무엇입니까? (0) | 2022.09.28 |