【发布时间】:2014-02-12 20:55:48
【问题描述】:
我有 5 个主题的 10 个问题。每个问题都是每个主题的多维数组的一部分。我需要将第一个问题移到该数组的最后一个位置,然后将其擦除。这样,用户将被问到十个问题而不重复它们,并且如果他愿意的话,他可以重复它们。
这是一个示例数组:
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
]
用户回答完第一个问题后,我想 if 从位置 topic1[0] 移动到该数组的末尾,因此 topic1[0] 现在是第二个问题。
我尝试对数组进行切片并推送它,但无济于事,如下所示:
var moveThis = topic1.slice(0,1);
topic1.push(moveThis);
topic1.shift();
这实际上将数组推入自身......或类似的东西。
新问题应始终位于数组的 [0] 位置,否则其余代码将不起作用。 有什么想法吗?
【问题讨论】:
-
问题是:
slice返回一个数组。所以你必须使用数组的第一个元素:var moveThis = topic1.slice(0,1)[0];