"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript 개체에서 임의의 속성을 간결하게 선택하려면 어떻게 해야 합니까?

JavaScript 개체에서 임의의 속성을 간결하게 선택하려면 어떻게 해야 합니까?

2024-11-07에 게시됨
검색:396

How can I select a random property from a JavaScript object concisely?

간결하게 JavaScript 개체에서 임의 속성 선택

JavaScript에서 개체는 해시 테이블에 저장된 키-값 쌍입니다. 객체에서 특정 속성을 검색하려면 정확한 속성 키를 알아야 합니다. 그러나 때로는 객체에서 임의의 속성을 선택하는 것이 바람직할 수도 있습니다.

일반적인 접근 방식은 객체의 속성을 반복하고 이를 계산한 다음 해당 범위 내에서 임의의 정수를 생성하는 것입니다. 이 접근 방식을 사용하면 객체를 한 번 반복하여 길이를 결정한 다음 다시 반복하여 해당 인덱스에서 임의의 속성을 찾습니다.

그러나 이 목표를 달성하기 위한 더 간결하고 빠른 방법이 있습니다.

var randomProperty = function (obj) {
    var keys = Object.keys(obj);
    return obj[keys[ keys.length * Math.random() << 0]];
};

이 접근 방식은 객체의 모든 속성 키 배열을 반환하는 Object.keys() 메서드를 활용합니다. 이 배열의 길이에 1보다 작은 임의의 값을 곱함으로써(비트 이동 사용) 배열 내에서 임의의 인덱스를 얻습니다. 이 임의 인덱스를 사용하여 배열을 인덱싱하면 선택된 속성 키가 제공됩니다. 마지막으로 이 키를 사용하여 개체에 액세스하면 관련 속성 값을 검색합니다.

이 방법은 더 간결하고 종종 반복 접근 방식보다 더 빠르게 수행되므로 JavaScript 개체에서 임의의 속성을 선택할 때 선호되는 선택입니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3