반응형
Ruby : 배열에서 첫 번째 요소를 제거하는 가장 쉬운 방법은 무엇입니까?
배열이 있다고 가정 해 봅시다.
[0, 132, 432, 342, 234]
첫 번째 요소를 제거하는 가장 쉬운 방법은 무엇입니까? (0)
배열의 첫 번째 요소를 "팝"하는 것을 " shift "라고합니다 ( "unshift"는 배열 앞에 하나의 요소를 추가하는 작업입니다).
a = [0,1,2,3]
a.drop(1)
# => [1, 2, 3]
a
# => [0,1,2,3]
그리고 추가적으로 :
[0,1,2,3].drop(2)
=> [2, 3]
[0,1,2,3].drop(3)
=> [3]
shift
배열 에서 메소드 사용
>> x = [4,5,6]
=> [4, 5, 6]
>> x.shift
=> 4
>> x
=> [5, 6]
n 개의 시작 요소를 제거하려면 사용할 수 있습니다 x.shift(n)
[0, 132, 432, 342, 234][1..-1]
=> [132, 432, 342, 234]
달리 shift
또는 slice
이것은 수정 된 배열을 반환합니다 (한 라이너에 유용합니다).
이것은 매우 깔끔합니다.
head, *tail = [1, 2, 3, 4, 5]
#==> head = 1, tail = [2, 3, 4, 5]
주석에 쓰여 있듯이 원본 목록을 변경하지 않는 이점이 있습니다.
또는 a.delete_at 0
시프트 방식 사용
array.shift(n) => Remove first n elements from array
array.shift(1) => Remove first element
https://ruby-doc.org/core-2.2.0/Array.html#method-i-shift
당신이 사용할 수있는:
a.slice!(0)
일부분! 모든 인덱스 또는 범위로 일반화합니다.
첫 번째 요소를 삭제하는 Array.delete_at (0) 메소드를 사용할 수 있습니다.
x = [2,3,4,11,0]
x.delete_at(0) unless x.empty? # [3,4,11,0]
: 당신은 사용할 수 있습니다
arr - [arr[0]]
또는 다른 arr - [arr.shift()]
하거나arr.shift(1)
당신이 사용할 수있는:
a.delete(a[0])
a.delete_at 0
둘 다 작동 할 수 있습니다
반응형
'Programing' 카테고리의 다른 글
너무 많은 필드를 반환하는 MySQL SELECT를 터미널에 가장 잘 표시하는 방법은 무엇입니까? (0) | 2020.04.07 |
---|---|
JavaScript에서 IE 버전 (v9 이전) 감지 (0) | 2020.04.07 |
preferredStatusBarStyle이 호출되지 않았습니다. (0) | 2020.04.07 |
Meteor, Ember.js 및 Backbone.js의 주요 차이점은 무엇입니까? (0) | 2020.04.07 |
HTTP 기본 인증-예상되는 브라우저 환경은 무엇입니까? (0) | 2020.04.07 |