首页 > web前端 > js教程 > 正文

如何有效地从 JavaScript 对象中检索随机属性?

Barbara Streisand
发布: 2024-10-26 01:07:02
原创
823 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!