Мне нужна небольшая помощь. У меня возникли проблемы с получением массива (larray3), заполненного двумя другими объектами массива (larray1 и larray2), чтобы передать оба из data.js в последующие model.js и view.js. Data.js правильно строит многомерный массив, однако, когда результаты получены в model.js/view.js, я получаю только результаты для larray1. Потому что только первые значения приходят через я не могу сказать, проходят ли как larray1, так и larray2 через. Может кто-нибудь, пожалуйста, скажите мне, как я должен изменить свой синтаксис в файлах model.js или view.js для доступа к значениям массива или тому, что еще я могу изменить? Заранее спасибо.Получение значений массива из многомерного массива в JavaScript
данные.js.
function getCountries(done) {
var sqlite3 = require('sqlite3').verbose();
var file = 'db/locations.sqlite3';
var db = new sqlite3.Database(file);
var larray1 = [];
var larray2 = [];
var larray3 = [];
db.all('SELECT * FROM Country', function(err, rows) {
// This code only gets called when the database returns with a response.
rows.forEach(function(row) {
larray1.push(row.CountryName);
larray2.push(row.CountryCode);
})
larray3.push(larray1);
larray3.push(larray2);
return done(larray3[0], larray3[1]);
});
db.close();
}
model.js
function Countries(done) {
//Pull location values from data
return getCountries(done);
}
view.js
function viewCountries() {
var viewCou = Countries(function(results) {
// Code only gets triggered when Countries() calls return done(...);
var container = document.getElementById('country-select');
var fragment = document.createDocumentFragment();
results.forEach(function(loc, index) {
var opt = document.createElement('option');
opt.innerHTML = loc;
opt.value = loc;
fragment.appendChild(opt);
});
container.appendChild(fragment);
})
}
спасибо. Я попытался что-то похожее на спаривание ключевых значений, но я знаю, что я не реализовал право. Это отлично поработало. Я также рассмотрю .textcontent. Вы очень благодарны за помощь! – Steve