私は少し助けが必要です。私は配列(larray3)に2つの他の配列オブジェクト(larray1とlarray2)を取り込み、data.jsから後続のmodel.jsとview.jsに両方を渡すのに問題があります。 Data.jsは多次元配列を正しく構築しますが、結果がmodel.js/view.jsで受信されたときには、larray1の結果のみを受け取ります。最初の値だけが来るので、larray1とlarray2の両方が実際に通過しているかどうかはわかりません。誰かが、model.jsまたはview.jsのどちらの構文を変更して両方の配列値にアクセスするか、それ以外に何が変更できるか教えてください。前もって感謝します。JavaScriptの多次元配列から配列の値を取得する
data.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あなたはdone
コールバックに二つの引数を送信data.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