Я думаю, что это общий вопрос Javascipt, однако я работаю в Vue Js, Laravel & Axios.
Как вставить один массив JSON в другой массив JSON?Моя проблема заключается в том, что когда я помещаю вторичный массив в первичный массив, он вкладывается (см. Скриншот).Мне нужно как часть одного и того же массива.
Это простая проблема индекса?Я читал, что concat может достичь этого, но у меня есть кнопка «загрузить еще», и я хочу добавить массив и увеличить размер снизу, поэтому push подходит.concat создает новый массив и заменяет текущий, что нежелательно, поскольку я хочу сохранить существующий массив и просто увеличить размер для более плавной загрузки результатов, как при прокрутке Pinterest, а новые результаты отображаются внизу.
(это упрощенный код для определения точки)
Свойство данных пустой массив для запуска:
data () {
return {
articles: [],
}
},
Во-первых, при загрузке страницы массив статей заполняетсяДанные JSON.
created() {
axios.get(url)
.then(response => {
this.articles = response.data.data;
});
},
Затем я хочу «загрузить больше» результатов с помощью метода
loadMore() {
axios.get(url)
.then(response => {
console.log('article\'s array data')
console.log(this.articles)
this.articles.push(response.data.data)
console.log('new response array data')
console.log(response.data.data)
console.log('the updated array with pushed response array')
console.log(this.articles)
});
}
консольный журнал
Это должен быть массив 5 + 5 = 10 для длины массива статей, если он правильно добавлен.
оба ответа верны и соответствуют json, так как я получил его через concat для объединения,Но нежелательно, так как он перезагружает весь массив.