[英]Turning for loop into lodash _.forEach
我正試圖扭轉這個
_.forEach(dataset, function(items) {
_.forEach(items, function(item) {
for (var key in item) {
if (key.indexOf('XX') === 0) {
var toJsonVar = item[key];
parseString(toJsonVar, function(err, res) {
item[key] = res;
});
}
}
});
});
因為你可能會看到我有_.forEach
從lodash第一2個范圍,但在第三我有一個for in
環路我想轉換為lodash但我得到一個錯誤。
_.forEach(item, function(key)) {
if (key.indexOf('XX') === 0) {
var toJsonVar = item[key], toJsonRes;
parseString(toJsonVar, function(err, res) {
item[key] = res;
});
});
我嘗試過的方法是什么,我做錯了什么?
錯誤說
TypeError:未定義不是函數
錯誤的行是
if (key.indexOf('XX') === 0) {
問題是,當您使用for (var key in item) {
, key
實際上是對象的鍵 ,但是在lodash _.forEach
,第一個參數是對象中的值 。 試試這個...
_.forEach(item, function(toJsonVar, key)) {
if (key.indexOf('XX') === 0) {
parseString(toJsonVar, function(err, res) {
item[key] = res;
});
}
});
不再需要使用var toJsonVar = item[key]
查找值,因為lodash已將其作為第一個參數傳遞給了回調
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.