我在5个主题中有一组十个问题。每个问题都是每个主题的多维数组的一部分。我需要将第一个问题转移到该数组的最后一个位置,然后将其删除。这样,用户将被问到十个问题而不重复它们,并且如果他愿意,将能够重复它们。
这是一个示例数组:
var topic1 = [{
"question":"Question1?",
"ans1" :"Answer 1", "ans2" :"Answer 2", "ans3" :"Answer 3"
},
{
"question":"Question2?",
"ans1" :"Answer 1", "ans2" :"Answer 2", "ans3" :"Answer 3"
},
{
"question":"Question2?",
"ans1" :"Answer 1", "ans2" :"Answer 2", "ans3" :"Answer 3"
}
//and like that 'til qustion 10
]
在用户回答完第一个问题之后,我想要从位置topic1 [0]移动到该数组的末尾,以便topic1 [0]现在是第二个问题。
我尝试切割阵列并推动它,但没有用,就像这样:
var moveThis = topic1.slice(0,1);
topic1.push(moveThis);
topic1.shift();
实际上是将数组推入自身......或类似的东西。
新问题应始终位于数组的位置[0],否则其余代码将无效。 有什么想法吗?
答案 0 :(得分:2)
试试这个:
topic1.push(topic1.shift());
答案 1 :(得分:0)
这样的事可能有用:
var firstToEnd = function(array)
{
var first = array[0];
array.removeAt(0);
array.push(first);
}
但是,为什么不显示当前的问题,只是在用户回答问题时将当前问题更改为下一个问题?
var current = 0;
var question = topic1[current];
var nextQuestion = function()
{
current++;
question = topic1[current];
}