JavaScript では、オブジェクトはハッシュ テーブルに格納されたキーと値のペアです。オブジェクトから特定のプロパティを取得するには、正確なプロパティ キーを知っている必要があります。ただし、オブジェクトからランダムなプロパティを選択することが望ましい場合があります。
一般的なアプローチには、オブジェクトのプロパティを反復処理し、それらを数えて、その範囲内でランダムな整数を生成することが含まれます。このアプローチを使用すると、オブジェクトを 1 回反復して長さを決定し、次に再度反復してそのインデックスのランダム プロパティを見つけることになります。
ただし、この目標を達成するには、より簡潔で、多くの場合、より高速な方法があります。
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