在 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