배열에서 값 찾기
루비에서 배열에서 값을 찾으려면 어떻게 해야 합니까?
배열 내부에 특정 값이 있는지 확인하려는 경우 Array #include?(값)를 사용할 수 있습니다.
a = [1,2,3,4,5]
a.include?(3) # => true
a.include?(9) # => false
다른 의미라면 Ruby Array API를 확인하십시오.
사용.Array#select
기준을 충족하는 요소의 배열을 제공합니다.하지만 당신의 기준에 맞는 배열에서 요소를 제거할 방법을 찾고 있다면,Enumerable#detect
더 나은 방법이 될 것입니다.
array = [1,2,3]
found = array.select {|e| e == 3} #=> [3]
found = array.detect {|e| e == 3} #=> 3
그렇지 않으면 다음과 같은 어색한 작업을 수행해야 합니다.
found = array.select {|e| e == 3}.first
배열에서 하나의 값을 찾으려면 다음을 사용합니다.
arr = [1,2,6,4,9]
arr.find {|e| e % 3 == 0} #=> 6
배열에서 여러 값을 찾으려면 다음을 사용합니다.
arr.select {|e| e % 3 == 0} #=> [ 6, 9 ]
e.include? 6 #=> true
어레이에 값이 있는지 확인하려면 ActiveSupport를 사용할 때도 사용할 수 있습니다. #in?
에 응답하는 모든 개체에 대해 작동합니다.#include?
:
arr = [1, 6]
6.in? arr #=> true
이렇게요?
a = [ "a", "b", "c", "d", "e" ]
a[2] + a[0] + a[1] #=> "cab"
a[6] #=> nil
a[1, 2] #=> [ "b", "c" ]
a[1..3] #=> [ "b", "c", "d" ]
a[4..7] #=> [ "e" ]
a[6..10] #=> nil
a[-3, 3] #=> [ "c", "d", "e" ]
# special cases
a[5] #=> nil
a[5, 1] #=> []
a[5..10] #=> []
아니면 이렇게?
a = [ "a", "b", "c" ]
a.index("b") #=> 1
a.index("z") #=> nil
설명서를 참조하십시오.
Array를 사용할 수 있습니다.또는 Array.index를 선택합니다.
사용:
myarray.index "valuetoFind"
배열에 값이 없으면 원하는 요소의 인덱스를 반환하거나 0을 반환합니다.
이 답변은 수락된 답변이 현재 작성된 질문을 다루지 않는다는 것을 깨달은 모든 사람을 위한 것입니다.
이 질문은 배열에서 값을 찾는 방법을 묻는 질문입니다.승인된 답변은 배열에 값이 있는지 확인하는 방법을 보여줍니다.
다음을 사용하는 예제가 이미 있습니다.index
그래서 나는 그것을 사용하는 예를 제공합니다.select
방법.
1.9.3-p327 :012 > x = [1,2,3,4,5]
=> [1, 2, 3, 4, 5]
1.9.3-p327 :013 > x.select {|y| y == 1}
=> [1]
이 질문에 대한 답변은 이미 끝났지만 몇 가지 기준에 따라 배열의 요소를 필터링하는 방법을 찾고 있습니다.여기 제 솔루션 예가 있습니다: 사용select
"RUBY_"로 시작하는 클래스의 모든 상수를 찾습니다.
Class.constants.select {|c| c.to_s =~ /^RUBY_/ }
업데이트: 그동안 Array#grep이 훨씬 더 잘 작동한다는 것을 알게 되었습니다.위의 예에서는,
Class.constants.grep /^RUBY_/
속임수를 썼습니다.
배열 방법을 선택할 수 있습니다.
모든 배열 방법을 보려면 다음을 사용합니다.methods
배열과 함께 작동합니다.예를들면,
a = ["name", "surname"]
a.methods
참고로 배열의 값을 확인하는 데 다른 방법을 사용할 수 있습니다.a.include?("name")
.
답장 감사합니다.
저는 이렇게 했습니다.
puts 'find' if array.include?(value)
let arr = [
{ name:"string 1", value:"this", other: "that" },
{ name:"string 2", value:"this", other: "that" }
];
let h = arr.find(x => x.name == 'string 1') ?? arr[0]
console.log(h);
언급URL : https://stackoverflow.com/questions/1734307/find-value-in-an-array
'programing' 카테고리의 다른 글
안드로이드 에뮬레이터에 APK 파일을 어떻게 설치합니까? (0) | 2023.06.03 |
---|---|
UI 텍스트 필드를 커버하는 iPhone 키보드 (0) | 2023.06.03 |
node.js 애플리케이션을 영구적으로 실행하는 방법은 무엇입니까? (0) | 2023.05.29 |
디버그 구성 시에만 실행할 .NET 코드 필요 (0) | 2023.05.29 |
사용자 지정 특성의 생성자는 언제 실행됩니까? (0) | 2023.05.29 |