배열에서 마지막 항목 제거
다음과 같은 배열이 있습니다.
var arr = [1,0,2];
마지막 요소 즉 2를 제거하고 싶습니다.
사용 arr.slice(-1);
했지만 값을 제거하지는 않습니다.
접속 사용 (인덱스, howmany)
arr.splice(-1,1)
JavaScript 규칙에 따른 Array.prototype.pop ()
let fruit = ['apple', 'orange', 'banana', 'tomato'];
let popped = fruit.pop();
console.log(popped); // "tomato"
console.log(fruit); // ["apple", "orange", "banana"]
다음 .slice()
과 같은 방법 으로이 작업을 수행 할 수 있습니다 .
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
시퀀스의 끝에서 오프셋을 나타내는 시작 매개 변수로 음수 인덱스를 전달했습니다 . 따라서 slice(-1)
귀하의 경우 시퀀스에서 마지막 하나의 배열 요소를 추출합니다 2
( 위의 데모에서 이미 본 것처럼 ).
이제 메소드 구문에서 end
매개 변수에 대해 이야기 해 봅시다 slice()
. 다시 배열에서 추출이 끝나는 인덱스 (0부터 시작)입니다. 따라서 다음과 같은 배열이 있다고 가정 해 봅시다.
var arr = [1, 0, 2, 5, 3, 9];
2,5,3
배열 의 요소 만 가져 오려고합니다 . 이제 2
시퀀스의 시작 위치는 2
마지막 요소이며 마지막 요소 3
는 4
입니다. 위치 5 이전에 요소를 가져와야하기 때문에 여기에서 위치 5의 추출을 종료해야합니다. 그래서 우리는 slice()
여기에 단순히 메소드 를 구현할 것입니다.
arr.slice(2, 5) // returns [2,5,3]
귀하의 경우 -1
종료 매개 변수로 구현 되었으므로 코드는
arr.slice(0, -1) // returns [1,0]
음의 인덱스로, end
시퀀스 끝에서의 오프셋을 나타냅니다. 따라서 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의 위치와 do like를 앉아서 계산하고 싶지 않습니다 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];
array_1.splice(-1,1) // output --> [4] array_1 = [1,2,3]
array_2.slice(0,-1); // output --> [1,2,3] array_2 = [1,2,3,4]
array_3.pop(); // output --> 4 array_3 = [1,2,3]
slice
원래 배열을 변경하지 않으므로이 작업을 수행해야합니다 .
arr = arr.slice(-1);
원래 배열을 변경하려면 다음을 사용할 수 있습니다 splice
.
arr.splice(-1, 1);
또는 pop
:
arr.pop();
arr.pop();
.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,0,2];
var popped = arr.pop();//Now arr = [1,0] & popped = 2
다음을 사용하여 두 가지 방법으로 할 수 있습니다 splice()
.
arr.splice(-1,1)
arr.splice(arr.length-1,1)
splice(position_to_start_deleting, how_many_data_to_delete)
두 개의 매개 변수를 사용합니다.
position_to_start_deleting
: 삭제를 시작할 위치 (0부터 시작)입니다. how_many_data_to_delete
: 표시된 인덱스에서 몇 개의 연속 데이터를 삭제해야합니까.
pop()
as pop()
를 사용하여 마지막 요소를 일부 배열에서 제거 할 수도 있습니다 .
사용하다arr.pop()
arr.slice(-1)
배열의 마지막 요소의 복사본 을 반환 하지만 원래 배열은 수정하지 않습니다.
n
배열에서 마지막 요소 를 제거하려면을 사용하십시오 arr.splice(-n)
( "splice"의 "p"참고). 반환 값은 제거 된 요소를 포함하는 새로운 배열입니다.
더 간단하면서도 n == 1
사용val = arr.pop()
이 방법은 배열의 마지막 요소를 삭제하고 저장하는 데 도움이됩니다.
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
var arr = [1,0,2];
arr.length--;
// 마지막 요소를 제거합니다. // arr.length> 0인지 확인해야합니다.
// 배열 선언
var names = [ "harry", "aahan", "arav", "you"];
//이 명령은 마지막 요소를 제거합니다 names
names.pop ();
splice (index, howmany)-이 솔루션은 좋은 소리입니다. 그러나이 howmany 는 양의 배열 인덱스에서만 작동합니다. 마지막 두 항목 또는 세 항목을 제거하려면 색인 자체를 사용하십시오.
예를 들어 splice (-2)는 마지막 두 항목을 제거합니다. 마지막 세 항목을 제거하기위한 splice (-3).
그 지적이의 가치는 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(-1) // get rid of the last item
.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
Lodash하면 사용할 수 있습니다 dropRight을 당신이 제거 된 요소를 알고 상관하지 않는 경우 :
_.dropRight([1, 2, 3])
// => [1, 2]
_.dropRight([1, 2, 3], 2);
// => [1]
var a = [1,2,3,4,5,6];
console.log(a.reverse().slice(1).reverse());
//Array(5) [ 1, 2, 3, 4, 5 ]
당신이 있다고 말해 var arr = [1,0,2]
arr.splice(-1,1)
당신에게 돌아 오는 array [1,0];
동안 당신 arr.slice(-1,1)
에게 돌아올 것입니다array [2];
2019 ECMA5 솔루션 :
const new_arr = arr.reduce((d, i, idx, l) => idx < l.length - 1 ? [...d, i] : d, [])
비파괴 적이며 일반적인 단일 라이너이며 어레이 끝에 복사하여 붙여 넣기 만하면됩니다.
마지막 항목을 제거하는 좋은 방법입니다.
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] 입니다. 이를 통해 새로운 값을 입력 할 때와 동일한 양의 배열 요소를 유지할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/19544452/remove-last-item-from-array
'development' 카테고리의 다른 글
리턴 키로 UITextView의 키보드를 해제하는 방법은 무엇입니까? (0) | 2020.02.26 |
---|---|
키보드를 해제하는 쉬운 방법? (0) | 2020.02.26 |
DDD에 대한 좋은 예는 어디에서 찾을 수 있습니까? (0) | 2020.02.26 |
명시 적 vs 암시 적 SQL 조인 (0) | 2020.02.26 |
EBS 대 인스턴스 스토어의 이점 (및 그 반대) (0) | 2020.02.26 |