我正在尝试将.json中的每个“百分比”值保存到数组中:

javascript - 如何改善对象的迭代?-LMLPHP

该代码现在可以正常工作:

let percentage = []
for(var key in res['data']){
    percentage.push(res['data'][key].percentage);
}

但是我觉得我可以改进它,只使用一行。我尝试像过去那样将值映射到变量:
let percentage = res['data'].map(res => res.percentage);

但是相反,我收到“TypeError:res.data.map不是函数”错误。如何改善我的代码以将其仅映射到这样的一行?:

最佳答案

data是一个对象,而不是数组,因此您不能在其上调用map。但是,您可以改用Object.values:

const res = {
  data: {
    0: {
      percentage: 8.1
    },
    1: {
      percentage: 47
    },
    2: {
      percentage: 87
    }
  }
};
const percentage = Object.values(res.data).map(({ percentage }) => percentage);
console.log(percentage);

关于javascript - 如何改善对象的迭代?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51039208/

10-12 01:16