使用js和underscore.js显示代码时出现问题

时间:2017-07-04 10:26:00

标签: javascript json underscore.js display

我在下面有这个代码,我想使用undercorejs来显示json文件中的文本。我需要在评论下方修改该部分,如下所示:

我试图复制它,但它会导致错误并且不会显示任何内容。有什么建议?对不起,如果这是一个愚蠢的问题,但我不熟悉编程。

  

hold.options(tooltips object)= {        (基于自动生成的部分的属性):{         (正确地基于自动生成的itemName):{              t:item.Texts,
          }         }

var log = function(contents) {
  if (_.isArray(contents)) {
    _.each(contents, function(e, i, l) {
      log(e);
      $('#result');
      $('#result').append('</br></br>');
    });
  } else {
    $('#result').append(contents);
  }
};

var ty = [{
  "Language": "en-GB",
  "Section": "Sales&Marketing",
  "ItemName": "CalculationType",
  "Texts": "Having selected the account heading select the calculation ..."
}, {
  "Language": "en-GB",
  "Section": "Taxes",
  "ItemName": "Save",
  "Texts": "The Master Tax Table has been pre populated with the current UK, ..."
}];
var out = [];
_.each(ty, function(item, key) {
  var hold = {};

//Part that needs to change
  hold.options = {
    Taxes: {
      Save: {
        t: item.Texts,
      }
    }
  };
  out.push(hold)
});
_.each(out, function(item) {
  log(item.options.Taxes.Save.t + '<br>');
})

1 个答案:

答案 0 :(得分:1)

这似乎有效:

Fiddle

//Part that needs to change
  hold.options = {};
  hold.options[item.Section] = {};
  hold.options[item.Section][item.ItemName] = {t: item.Texts};
  out.push(hold)
});
_.each(out, function(item) {
  if(item.options.Sales !== undefined && item.options.Sales.Type !== undefined){
    log(item.options.Sales.Type.t); 
  }
  else if(item.options.Taxes !== undefined && item.options.Taxes.Save !== undefined){
    log(item.options.Taxes.Save.t);
  }