【发布时间】:2016-08-21 18:52:04
【问题描述】:
我有这段代码:
wordObj.baseLang.find(function (item) {
if (item.hasOwnProperty("Example")) {
var exTranslation = wordObj.targetLang.filter(function (targetLangItem) {
if (targetLangItem.id === item.id) return targetLangItem.Example || '';
});
var obj=[item.id,wordObj.ID,lid,item.Example,(exTranslation[0] ? exTranslation[0].Example : null)];
console.log(obj);
insertquery2[1]=obj;
batchQueries.push(insertquery2);
}
});
其中:wordObj 是一个对象,其中包含一个字段 baseLang,该字段是一个对象数组(并且该数组中的一些对象具有键 Example)。我还有一个全局数组batchQueries,它将包含我试图在上面的代码块中创建的子数组。数组insertquery2 的长度为 2:
-
insertquery2[0]有一个字符串,例如:"insert into tablename (col1,col2,col3,col4,col5) values (?,?,?,?,?)"和 -
insertquery2[1]将保存查询的实际值(这是上面的代码试图做的)。
我的目标是为同一个表创建插入查询数组。即:
batchQueries = [
["insert into tablename (col1,col2,col3,col4,col5) values (?,?,?,?,?)",[val1,val2,val3,val4,val5]],
["insert into tablename (col1,col2,col3,col4,col5) values (?,?,?,?,?)",[val1,val2,val3,val4,val5]],
]
(我只限于这种数组结构)。
我的问题是,如果我 console.log obj,我可以获得每个项目的不同值,而在 insertquery2[1] 中添加对象然后将其推送到全局数组将只显示找到的最后一个项目。
我知道这与按值推送和回调有关,但无论我尝试了什么,我都无法让它工作
如何使用具有Example 属性的所有不同项目填充全局数组?
提前致谢。如果您需要任何进一步的信息,请询问!
【问题讨论】:
标签: javascript arrays find