배열에서 마지막 항목 제거
다음과 같은 어레이가 있습니다.
var arr = [1,0,2];
마지막 요소(예: 2)를 제거합니다.
하였습니다.arr.slice(-1);
이치노
JavaScript 표기법에 의한 Array.protype.pop().
let fruit = ['apple', 'orange', 'banana', 'tomato'];
let popped = fruit.pop();
console.log(popped); // "tomato"
console.log(fruit); // ["apple", "orange", "banana"]
스플라이스 사용(start Position, delete Count)
array.splice(-1)
var array = ['abc','def','ghi','123'];
var removed = array.splice(-1); //last item
console.log( 'array:', array );
console.log( 'removed:', removed );
다음과 같은 방법을 사용하여 이를 수행할 수 있습니다.
arr.slice(0, -1); // returns [1,0]
다음은 데모입니다.
var arr = [1, 0, 2];
var newArr = arr.slice(0, -1); // returns [1,0]
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
<script src="http://code.jquery.com/jquery.min.js"></script>
<b>Original Array : </b>
<div id="div1"></div>
<br/>
<b>After slice(0, -1): </b>
<div id="div2"></div>
다음 작업을 수행하는 대신:
arr.slice(-1); // returns [2]
다음은 데모입니다.
var arr = [1, 0, 2];
var newArr = arr.slice(-1); // returns [2]
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
<script src="http://code.jquery.com/jquery.min.js"></script>
<b>Original Array : </b>
<div id="div1"></div>
<br/>
<b>After slice(-1): </b>
<div id="div2"></div>
설명:-
이번에는 기본 인 '아까보다'입니다.Array.prototype.slice()
slice()
을 사용하다
arr.slice([begin[, end]])
여기서,
begin
매개 변수는 배열에서 추출을 시작하는 0 기반 인덱스입니다.위의 를 들면, 요?
arr.slice(0) // returns [1,0,2]
합니다. 즉, "0"이 반환됩니다.[1,0,2]
을 을 사용하세요.
arr.slice(1) // returns [0,2]
은 돌아올 것이다[0,2]
0은 여기 위치 1에 있고 그 다음 모든 것이 위치 1에 있기 때문입니다.-1
begin 파라미터로서 시퀀스 끝으로부터의 오프셋을 나타냅니다.so,는,slice(-1)
, 즉 요소가 됩니다.2
(위 데모에서 이미 확인했듯이)
이번에는 '아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아.end
의 slice()
메서드 구문을 참조해 주세요.다시 어레이에서 추출이 끝나는 제로 기반 인덱스입니다. 이렇게 해 볼까요어울리다.-어울리다-어울리다.-어울리다.
var arr = [1, 0, 2, 5, 3, 9];
'이렇게'만 받고 싶다.2,5,3
을 사용법 그럼 ㅇㅇ, 의 위치.2
부터가 「」입니다.2
마지막 에는 """를 지정합니다.3
그렇다.4
5번 위치에서 추출을 종료해야 합니다. 그 위치 전에 요소를 가져와야 합니다. ' 정도', '어느 정도'를 실행해 .slice()
서의
arr.slice(2, 5) // returns [2,5,3]
의 경우 객객ededed를 하였습니다.-1
파라미터로서 는 end와 .
arr.slice(0, -1) // returns [1,0]
로서 「부정적이라고 하는 것은,end
시퀀스 끝으로부터의 오프셋을 나타냅니다.so,는,slice(0,-1)
는 시퀀스 내의 두 번째에서 마지막까지 첫 번째 요소를 추출합니다.을 사용법도 할 수 요.
arr.slice(0, 2) // returns [1,0]
을 사용법 저는 ★★★★★★★★★★★★★★★★★★를 사용해 왔습니다.-1
여기에서는 다음과 같은 긴 어레이에서도 구현이 용이하기 때문에
[0,2,3,1,2,9,3,6,3,9,1,0,2,9,0,1,1,2,3,4,7,9,1]
요소만 여기 하고 9개의 를 계산하고는 않아요.arr.slice(0, 22)
하고 네거티브인덱스 로직을 실행할 수
arr.slice(0, -1) // same result as arr.slice(0, 22)
도움이 됐으면 좋겠다!
예를 들어 학습:
let array_1 = [1,2,3,4];
let array_2 = [1,2,3,4];
let array_3 = [1,2,3,4];
let array_4 = [1,2,3,4];
array_1.splice(-1,1) // returned --> [4] array_1 = [1,2,3]
array_2.slice(0,-1); // returned --> [1,2,3] array_2 = [1,2,3,4]
array_3.pop(); // returned --> 4 array_3 = [1,2,3]
array_4.shift(); // returned --> 1 array_4 = [2,3,4]
될 것 같아요.slice
원래 배열은 변경되지 않습니다.
arr = arr.slice(0, -1);
는, 「배열」을 사용할 수 .splice
:
arr.splice(-1, 1);
★★★★★★★★★★★★★★★★★」pop
:
arr.pop();
는는 i i i i i i i i i.pop()
그러나 가장 '올바른' 솔루션이 되려면 마지막 요소가 없는 어레이를 사용해야 하기 때문에 작동하지 않을 수 있습니다.
에는 다음.[1,2,3]
var arr = [1,2,3,4];
console.log(arr.splice(0,arr.length-1));
동시에.pop()
4
:
var arr = [1,2,3,4];
console.log(arr.pop());
바람직하지 않을 수도 있지만...
이것으로 시간을 절약하시길 바랍니다.
여기에는 다음과 같은 기능이 있습니다.
arr.pop();
사용 예에서는 다음 항목을 사용하십시오.
var arr = [1,2,3,4];
arr.pop() //returns 4 as the value
arr // value 4 is removed from the **arr** array variable
★★★★★★★★★★★★★를 실행하는 경우pop()
이 함수는 행이 팝된 항목을 반환하더라도 원래 배열이 적용되고 팝된 요소가 제거됩니다.
사용하시면 .arr.pop()
어레이의 마지막 엔트리가 삭제됩니다.
var arr = [1,0,2];
var popped = arr.pop();//Now arr = [1,0] & popped = 2
가 있다slice
둘 다 새로운 어레이를 반환하지만,.pop()
★★★★★★★★★★★★★★★★★」.splice()
는 기존 어레이를 변환합니다.
스타일을 을 좋아하는 , "" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "slice
이런 거에 대해서요
예를 들어 다음과 같습니다.
myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var newArrayOfThings = myArray
.filter(x => x > 5) // only bigly things
.slice(0, -1) // get rid of the last item ! slice(-1) will give first element
.map(x => `The number is: ${x}`);// map to a set of strings
"과 같은 는 훨씬할 수 . "팝"은 "팝"과 달리 "팝"과 같은 종류의 작업을 하기 때문입니다.map
,filter
새로운 어레이는 반환되지 않습니다.
push
항목을 배열 끝에 추가합니다. 더 잘될 것 같아요.concat
이데올로기 때문에
myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var newArrayOfThings = myArray
.filter(x => x > 5) // only bigly things
.slice(-1) // get rid of the "10"
.concat([100]) // note with concat, you must pass an array
.map(x => `The number is: ${x}`) // map to a set of strings
arr.slice(-1)
는 배열의 마지막 요소의 복사본을 반환하지만 원래 배열은 변경되지 않은 상태로 둡니다.
을 n
, " " " 사용, "arr.splice(-n)
('p'는 'p'는 'p'는 'p'는').반환값은 삭제된 요소를 포함하는 새 배열이 됩니다.
보다 심플하게n == 1
하다, 사용하다val = arr.pop()
두 할 수 있어요.splice()
arr.splice(-1,1)
arr.splice(arr.length-1,1)
splice(position_to_start_deleting, how_many_data_to_delete)
매개 변수를 두 가지다는 2개의 파라미터를 취합니다.
position_to_start_deleting
: 삭제하려는 제로 기반 인덱스는 다음과 같습니다. 삭제를 시작할 위치로부터 제로 베이스의 인덱스. how_many_data_to_delete
: 표시된 인덱스에서 몇 연속 데이터가 삭제되어야 합니다.: : 지정된 인덱스에서 삭제해야 하는 연속 데이터 수.
You can also remove the last element using 마지막 요소를 제거할 수도 있습니다.pop()
as ~하듯이pop()
는 일부 배열에서 마지막 요소를 삭제합니다.arr.pop()
또 다른 접근법은 인덱스를 기반으로 필터링하는 것입니다.
arr.filter((element, index) => index < arr.length - 1);
★★★★★★filter()
기존 어레이는 변경하지 않고 새 어레이를 만듭니다.
이 방법은 배열의 마지막 요소를 삭제하고 저장하는 데 더 유용합니다.
var sampleArray = [1,2,3,4];// Declaring the array
var lastElement = sampleArray.pop();//this command will remove the last element of `sampleArray` and stores in a variable called `lastElement` so that you can use it if required.
결과는 다음과 같습니다.
console.log(sampleArray); //This will give you [1,2,3]
console.log(lastElement); //this will give you 4
splice(index, how many) - 이 솔루션은 좋은 것 같습니다.그러나 이 수는 양의 어레이 인덱스에 대해서만 작동합니다.마지막 두 항목 또는 세 항목을 제거하려면 색인 자체를 사용하십시오.
예를 들어 마지막 두 항목을 제거하려면 스플라이스(-2)를, 마지막 세 항목을 제거하려면 스플라이스(-3)를 사용합니다.
var arr = [1,0,2];
arr.length--;
// 마지막 요소를 삭제합니다. // arr.length > 0인지 확인해야 합니다.
var a = [1,2,3,4,5,6];
console.log(a.reverse().slice(1).reverse());
//Array(5) [ 1, 2, 3, 4, 5 ]
Lodash를 사용하면 제거된 요소를 알 수 없는 경우 dropRight를 사용할 수 있습니다.
_.dropRight([1, 2, 3])
// => [1, 2]
_.dropRight([1, 2, 3], 2);
// => [1]
var arr = [ 0, 1, 2, 3, 4, 5, 6, 7 ];
// using slice
arr = arr.slice(0, -1);
console.log('arr : ', arr);
// using splice
arr.splice(-1);
console.log('arr : ', arr);
// using pop
arr.pop();
console.log('arr : ', arr);
// using shift and reverse
arr.reverse().shift()
arr.reverse();
console.log('arr : ', arr);
// using spread Operator and reverse
const [, ...exceptLast] = arr.reverse();
arr = exceptLast.reverse();
console.log('arr : ', arr);
// removing last index
arr.length -= 1;
console.log('arr : ', arr);
2019 ECMA5 솔루션:
const new_arr = arr.reduce((d, i, idx, l) => idx < l.length - 1 ? [...d, i] : d, [])
비파괴적이고 범용적인 원라이너로 어레이 끝에 복사하여 붙여넣기만 하면 됩니다.
var arr = [1,0,2]
arr.splice(-1,1)
돌아오다array [1,0];
동시에arr.slice(-1,1)
돌아오다array [2];
마지막 항목을 삭제하려면 다음과 같이 하십시오.
if (arr != null && arr != undefined && arr.length > 0) {
arr.splice(arr.length - 1, 1);
}
스플라이스 세부 사항은 다음과 같습니다.
스플라이스(startIndex, 스플라이스 수)
var stack = [1,2,3,4,5,6];
stack.reverse().shift();
stack.push(0);
출력은 Array [0, 1, 2, 3, 4, 5]가 됩니다.이를 통해 새 값을 푸시할 때와 동일한 양의 어레이 요소를 유지할 수 있습니다.
javascript에서 배열 끝에서 n개의 항목을 제거하려면 다음 항목을 쉽게 사용할 수 있습니다.
arr.splice(-n, n);
확산 연산자 사용:
const a = [1,2,3]
const [, ...rest] = a.reverse();
const withoutLast = rest.reverse();
console.log(withoutLast)
말하면 ★★★★★★★arr.splice(-1)
하겠습니다
// Setup
var myArray = [["John", 23], ["cat", 2]];
// Only change code below this line
var removedFromMyArray;
removedFromMyArray = myArray.pop()
정답을 맞혔어요!
var array = [1, 2, 3, 4]
array.length = array.length - 1
console.log(array)
> [1, 2, 3]
솔직히 이 시점에서 JS는 밈이다.
PS: 이것은 변수 및 변수 참조에 영향을 미칩니다.변수의 참조에 영향을 주지 않으려면 다음을 수행합니다.
var array = [1, 2, 3, 4]
var modifiedArray = Array.from(array)
modifiedArray .length = modifiedArray .length - 1
console.log(modifiedArray )
> [1, 2, 3]
언급URL : https://stackoverflow.com/questions/19544452/remove-last-item-from-array
'programing' 카테고리의 다른 글
Vuetify 조건부 다크 테마 (0) | 2022.12.01 |
---|---|
PHP에서 배열의 선두에 항목을 삽입하려면 어떻게 해야 합니까? (0) | 2022.12.01 |
JAX-WS 클라이언트: 로컬 WSDL에 액세스하기 위한 올바른 경로는 무엇입니까? (0) | 2022.12.01 |
MariaDB를 사용하는 Ruby convert_tz가 0을 반환하고 있습니다. (0) | 2022.12.01 |
Mac OS X용 Java JDK 7 설치 후 - mvn - version에는 여전히 Java 버전 1.6.0_31이 표시됩니다. (0) | 2022.12.01 |