У меня есть набор из десяти вопросов по 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] массива, иначе остальная часть кода не будет работать. Любые идеи?
Проблема в следующем: 'slice' возвращает массив. Поэтому вам нужно использовать первый элемент массива: 'var moveThis = topic1.slice (0,1) [0];' – friedi