ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript オブジェクトからランダムなプロパティを効率的に取得する方法

JavaScript オブジェクトからランダムなプロパティを効率的に取得する方法

Barbara Streisand
リリース: 2024-10-26 01:07:02
オリジナル
921 人が閲覧しました

How to Efficiently Retrieve a Random Property from a JavaScript Object?

効率を高めたランダム オブジェクト プロパティの取得

JavaScript で次のようなオブジェクトが見つかったとします。

{cat: 'meow', dog: 'woof', snake: 'hiss'}
ログイン後にコピー

このオブジェクトからランダムなプロパティを取得したい場合があります。以下のような長期にわたる方法を採用する代わりに、

function pickRandomProperty(obj) {
    var prop, len = 0, randomPos, pos = 0;
    for (prop in obj) {
        if (obj.hasOwnProperty(prop)) {
            len += 1;
        }
    }
    randomPos = Math.floor(Math.random() * len);
    for (prop in obj) {
        if (obj.hasOwnProperty(prop)) {
            if (pos === randomPos) {
                return prop;
            }
            pos += 1;
        }
    }       
}
ログイン後にコピー

この最適化されたアプローチを活用することを検討してください:

var randomProperty = function (obj) {
    var keys = Object.keys(obj);
    return obj[keys[ keys.length * Math.random() << 0]];
};
ログイン後にコピー

この手法では、Object.keys() メソッドを利用してパフォーマンスの向上を最適化します。オブジェクトのキーの配列を取得します。その後、配列の長さに乱数を乗算して、キーを取得するための配列のインデックスを取得します。最後に、オブジェクト内の対応するプロパティにアクセスして、目的のランダムなプロパティを返します。

以上がJavaScript オブジェクトからランダムなプロパティを効率的に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート