【发布时间】:2016-02-24 23:40:04
【问题描述】:
我最初使用来自先前问题的信息来弄清楚如何使用我在 Stack Overflow Q&A 中找到的信息来随机化数据。 (How to randomize (shuffle) a JavaScript array?) 在我最初的尝试中,我对女孩的名字和男孩的名字进行了单独的随机化。
var girls = shuffle([
"Amanda",
"Deja",
"Grace",
"Hailey",
"Jada",
"Kylie",
"Maria",
"Shanice",
"Victoria"
]);
var boys = shuffle([
"Aiden",
"Benjamin",
"Daniel",
"Isaiah",
"Jamal",
"Maurice",
"Steven",
"Tyrone",
"Zach"
]);
使用@gnarf提交的Fisher-Yates算法完成随机化:
function shuffle(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
当我仔细考虑并阅读更多内容时,我意识到我确实需要使用 JSON 而不是简单的数组。 JSON 对我来说是新的。我已经弄清楚如何设置它:
var npc = [{
"npcName": "Amanda",
"npcSex": "girl",
"npcRisk": "1"
}, {
"npcName": "Deja",
"npcSex": "girl",
"npcRisk": "2"
}, {
"npcName": "Grace",
"npcSex": "girl",
"npcRisk": "3"
}, {
"npcName": "Hailey",
"npcSex": "girl",
"npcRisk": "4"
}, {
"npcName": "Jada",
"npcSex": "girl",
"npcRisk": "5"
}, {
"npcName": "Kylie",
"npcSex": "girl",
"npcRisk": "6"
}, {
"npcName": "Maria",
"npcSex": "girl",
"npcRisk": "7"
}, {
"npcName": "Shanice",
"npcSex": "girl",
"npcRisk": "8"
}, {
"npcName": "Victoria",
"npcSex": "girl",
"npcRisk": "9"
}, {
"npcName": "Aiden",
"npcSex": "boy",
"npcRisk": "1"
}, {
"npcName": "Benjamin",
"npcSex": "boy",
"npcRisk": "2"
}, {
"npcName": "Daniel",
"npcSex": "boy",
"npcRisk": "3"
}, {
"npcName": "Isaiah",
"npcSex": "boy",
"npcRisk": "4"
}, {
"npcName": "Jamal",
"npcSex": "boy",
"npcRisk": "5"
}, {
"npcName": "Maurice",
"npcSex": "boy",
"npcRisk": "6"
}, {
"npcName": "Steven",
"npcSex": "boy",
"npcRisk": "7"
}, {
"npcName": "Tyrone",
"npcSex": "boy",
"npcRisk": "8"
}, {
"npcName": "Zach",
"npcSex": "boy",
"npcRisk": "9"
}];
我还没有弄清楚如何正确调用该函数或如何为女孩和男孩进行单独的随机化。因此,例如,随机化的结束应该用其他女孩的名字替换女孩的名字,但保持 npcRisk 的顺序相同。指导将不胜感激。
【问题讨论】:
-
1) 你的问题中没有 JSON,2) 你有一个数组,而不是一个对象,3) stackoverflow.com/questions/2450954/… 的副本
-
您提供了一个 JSON 对象数组,但没有实际的代码演示您尝试解析它的内容。关于如何使用和解析 JSON 对象的教程非常多。这是一篇陈旧但仍然完全相关的文章,可以帮助您入门。花时间学习使用 JSON 对象的基础知识,我敢打赌,在本文结束时,您将找到问题的答案。 copterlabs.com/json-what-it-is-how-it-works-how-to-use-it
标签: javascript random shuffle