gpt4 book ai didi

javascript - 从javascript中的关联数组中获取随机元素?

转载 作者:数据小太阳 更新时间:2023-10-29 05:06:26 26 4
gpt4 key购买 nike

我正在用 javascript 构建一个歌曲播放列表。我使用了关联数组 foo——我的对象的结构类似于:

foo[songID] = songURL;

我正在尝试构建洗牌功能。我想从这个列表中随机选择一首歌曲。有没有一种简单的方法可以做到这一点——数组没有索引。

最佳答案

您可以使用函数 Object.keys(object) 获取对象的键数组。关于此功能的非常好的文档可以在 MDN 找到.

您似乎还有两个不同但相关的问题。

您的主题询问如何从对象中获取随机元素。为此,

var randomProperty = function (object) {
var keys = Object.keys(object);
return object[keys[Math.floor(keys.length * Math.random())]];
};

但是您还在问题正文中询问了如何洗牌数组。为此,您需要一个 shuffle某种功能(很可能是 Fischer-Yates 的实现),然后直接执行。

var objectKeysShuffled = function (object) {
return shuffle(Object.keys(object));
};

关于javascript - 从javascript中的关联数组中获取随机元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8966942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com