Javascript 创建嵌套数组?
我正在创建一个琐事游戏,它会给用户4个答案来选择。使用数组包含问题和答案对这个游戏来说是一个好的选择吗?如果是这样,创建嵌套数组的正确方法是什么 所以。。。在js中,创建嵌套数组不是问题,但如果您考虑的是数组的key=>value类型,那么这就是一个问题。在这种情况下,您需要使用一个对象,您可以像处理数组一样处理它的属性(如果需要)。你们可以在数组中存储答案值(我在那个里做过和你们想做的完全一样的事情,比如琐事学习游戏),但你们可以一直使用对象和做类似的事情Javascript 创建嵌套数组?,javascript,jquery,arrays,nested,Javascript,Jquery,Arrays,Nested,我正在创建一个琐事游戏,它会给用户4个答案来选择。使用数组包含问题和答案对这个游戏来说是一个好的选择吗?如果是这样,创建嵌套数组的正确方法是什么 所以。。。在js中,创建嵌套数组不是问题,但如果您考虑的是数组的key=>value类型,那么这就是一个问题。在这种情况下,您需要使用一个对象,您可以像处理数组一样处理它的属性(如果需要)。你们可以在数组中存储答案值(我在那个里做过和你们想做的完全一样的事情,比如琐事学习游戏),但你们可以一直使用对象和做类似的事情 var userAnswer = '
var userAnswer = 'something',
item = {
question: 'what is a?'
answers: [ 'a', 'b', 'c' ]
validAnswer: 0;
}
if(userAnswer === item.answers[validAnswer]) {
console.log("is valid");
}
其他一些用法:
var userStats = {
status: 'alive',
makeDead: function() {
this.status = 'dead';
},
bringBackToLife: function() {
this.status = 'alive';
},
}
//then you can even do things like...
userStats.makeDead();
console.log(userStats); //user will be dead
userStats.bringBackToLife(); //user status will be alive
我的意思是,你应该可以使用数组,只保留问题或问题以及(嵌套的[[])答案数组,但是你开始玩数组[0](应该是问题对吗?)数组[3](应该是无效答案?)的游戏,然后呢?如果你仍然认为你的琐事游戏永远不会发展,那么你可能会坚持这个解决方案,但如果你认为它可能会发展,那就用对象来保持东西的组织性
更新 尽量让你的对象保持小&不要做“上帝”对象(查找实体规则),但是如果你想说保存/上一堂包含一些问题的课,那么你可以用一个大对象包含许多小对象,即
//you can make object to store some data and functions
var LessonItem = function(question){
this.question = question;
this.answers = [];
this.addAnswer = function(answer){
this.answers.push(answer);
};
};
//you dont need the 'valid' part if there's always just one valid option
var question1 = new LessonItem('What is?');
question1.addAnswer({text: 'It is something', valid: true });
question1.addAnswer({text: 'It is something not', valid: false });
question1.addAnswer({text: 'It is something 3', valid: true });
//and this would be our 'big' object, i.e. to save in json file or whatever
var lesson = {
lesson_subject: 'something',
lesson_repeat: 3,
lesson_score: 124,
lesson_items: [
question1,
//question2
]
};
console.log(lesson);
但是,是的,你可以用大的“对象”来“存储”其他对象,但是避免创建像上帝一样的大对象来管理一切,因为它会随着时间而变得很糟糕:我也不确定你是否这样做,但你可以在谷歌chrome工具控制台中粘贴javascript,并检查它是否正常工作,而无需重新加载页面。。。(对于快速检查:)“好”和“合适”都是意见问题。我会使用一组对象来容纳所有的问题:
questions=[{question:“哪一个是水果?”,回答:2,选项:[“石头”,“纸”,“菠萝”,“剪刀”]},{question:“哪一个是颜色?”,回答:1,选项:[“厌倦”,“绿色”,“鲜味”,“冷”]}
。哦,好的,我也在考虑使用它,所以我会尝试一下。谢谢。非常感谢,我会使用对象,因为我喜欢组织我的东西,如果我想在将来修改或再次使用代码,我有这个结构要回去。另外,如果我计划有8个问题,每个问题有4个答案可供选择。我应该有8个不同的对象还是一个大对象?谢谢你的帮助。我会的,非常感谢你。我感谢你的帮助。