약간의 도움이 필요합니다. 두 개의 다른 배열 객체 (larray1 및 larray2)로 채워진 배열 (larray3)을 가져 오는 중 문제가 발생하여 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
function Countries(done) {
//Pull location values from data
return getCountries(done);
}
view.js 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