source

어레이의 첫 번째 아이템 삭제(스택에서 팝핑 등)

lovecheck 2022. 10. 29. 10:08
반응형

어레이의 첫 번째 아이템 삭제(스택에서 팝핑 등)

다음을 통해 생성된 항목 목록이 있습니다.ng-repeat삭제 버튼도 있습니다.삭제 버튼을 클릭하면 어레이의 마지막 항목이 하나씩 삭제됩니다.플런커

단, 첫 번째 아이템부터 하나씩 삭제하고 싶습니다.내가 어떻게 그럴 수 있을까?목록 삭제에 사용했습니다 항목:

  $scope.index = 1;
  $scope.remove = function(item) { 
    var index = $scope.cards.indexOf(item);
    $scope.cards.splice(index, 1);     
  }

위에서 뺄 수 있는 방법이 있나요?

가장 쉬운 방법은shift()어레이가 있는 경우shift함수는 모든 것을 왼쪽으로 이동시킵니다.

var arr = [1, 2, 3, 4]; 
var theRemovedElement = arr.shift(); // theRemovedElement == 1
console.log(arr); // [2, 3, 4]

그냥 사용하다arr.slice(startingIndex, endingIndex).

를 지정하지 않으면endingIndex제공된 색인에서 시작하는 모든 항목을 반환합니다.

고객님의 경우arr=arr.slice(1).

const a = [1, 2, 3]; // -> [2, 3]

// Mutable solutions: update array 'a', 'c' will contain the removed item
const c = a.shift(); // prefered mutable way
const [c] = a.splice(0, 1);

// Immutable solutions: create new array 'b' and leave array 'a' untouched
const b = a.slice(1); // prefered immutable way
const b = a.filter((_, i) => i > 0);
const [c, ...b] = a; // c: the removed item

플런커

$scope.remove = function(item) { 
    $scope.cards.splice(0, 1);     
  }

에 변경을 가했습니다.이제 위에서 제거될 것입니다.

라고 하는 기능이 있습니다.shift()어레이의 첫 번째 요소가 삭제됩니다.

가지 좋은 문서와 예가 있습니다.

언급URL : https://stackoverflow.com/questions/29605929/remove-first-item-of-the-array-like-popping-from-stack

반응형