簡體   English   中英

將循環變成lodash _.forEach

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM