Первоначально я использовал информацию из предыдущих вопросов, чтобы выяснить, как рандомизировать данные, используя информацию, найденную в переполнении стека Q & A. (How to randomize (shuffle) a JavaScript array?) В моей первоначальной попытке я сделал отдельные рандомизации для имен девочек и имена мальчиков.Рандомизация (перетасовка) массива с объектами в JavaScript
var girls = shuffle([
"Amanda",
"Deja",
"Grace",
"Hailey",
"Jada",
"Kylie",
"Maria",
"Shanice",
"Victoria"
]);
var boys = shuffle([
"Aiden",
"Benjamin",
"Daniel",
"Isaiah",
"Jamal",
"Maurice",
"Steven",
"Tyrone",
"Zach"
]);
рандомизации была завершена с использованием алгоритма Фишера-Yates, представленный @gnarf:
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"
}];
Я не понял, как вызвать функцию правильно или как сделать отдельные randomizations для девочек и мальчиков. Так, например, конец рандомизации должен заменить имена девочек именами других девочек, но сохранить npcRisk в том же порядке. Руководство будет оценено по достоинству.
1) Там нет JSON в вашем вопросе, 2) Вы имеете массив, а не объект, 3) Дубликат http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array – Teemu
Вы предоставили массив объектов JSON, но никакого фактического кода который демонстрирует, что вы пытались разобрать. Есть довольно буквально десятки учебников о том, как работать и разбирать объекты JSON. Вот старая, но все же полностью соответствующая статья, которая поможет вам начать. Потратьте время на изучение основ работы с объектами JSON, и я готов поспорить, что к концу этой статьи вы выясните ответ на свой вопрос. http://www.copterlabs.com/json-what-it-is-how-it-works-how-to-use-it/ – Korgrue