使用循环改进 jquery 代码

Using a loop to improve jquery code

如何使用循环来改进此 jquery 代码?

$.getJSON("@Url.Action("GetPainel", "Home")", {}, function(data) {
  var json = data;
  var PieData = [{
    value: data[0].value,
    color: data[0].color,
    highlight: data[0].highlight,
    label: data[0].label
  },{
    value: data[1].value,
    color: data[1].color,
    highlight: data[1].highlight,
    label: data[1].label
  }];

你甚至不需要循环**,你可以只使用 map() 从你的 AJAX 请求中检索到的对象构建一个新的对象数组:

$.getJSON("@Url.Action("GetPainel", "Home")", function(data) {
  var pieData = data.map(function(o) {
    return {
      value: o.value,
      color: o.color,
      highlight: o.highlight,
      label: o.label
    }
  }

  // work with pieData here...
});

** 我的意思是 显式 循环。我意识到 map() 在内部循环。

你可以这样做

 $.getJSON("@Url.Action("GetPainel", "Home")", {}, function (data) {
    var PieData=[];
    data.forEach(function(entry){
        PieData.push({
          value:entry.value,
          color:entry.color,
          highlight:entry.highlight,
          label:entry.label
       });
    });