programing

배열에서 마지막 항목 제거

randomtip 2022. 12. 1. 23:27
반응형

배열에서 마지막 항목 제거

다음과 같은 어레이가 있습니다.

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에 있기 때문입니다.-1begin 파라미터로서 시퀀스 끝으로부터의 오프셋을 나타냅니다.so,는,slice(-1), 즉 요소가 됩니다.2( 데모에서 이미 확인했듯이)

이번에는 '아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아.endslice()메서드 구문을 참조해 주세요.다시 어레이에서 추출이 끝나는 제로 기반 인덱스입니다. 이렇게 해 볼까요어울리다.-어울리다-어울리다.-어울리다.

var arr = [1, 0, 2, 5, 3, 9];

'이렇게'만 받고 싶다.2,5,3을 사용법 그럼 ㅇㅇ, 의 위치.2부터가 「」입니다.2 마지막 에는 """를 지정합니다.3그렇다.45번 위치에서 추출을 종료해야 합니다. 그 위치 전에 요소를 가져와야 합니다. ' 정도', '어느 정도'를 실행해 .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()

  1. arr.splice(-1,1)
  2. 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

반응형