我有这个功能:
getLabels(state) {
const labels = [];
if (state.report.data.report) {
for (const key in state.report.data.report) {
labels.push(key);
}
}
return labels;
},
您能否解释一下我应该如何处理我的功能以避免ESLint检测到错误?它建议在if语句中包装.. in以从原型中过滤掉不需要的属性,并使用Object。{keys,values,entries}进行迭代。
答案 0 :(得分:3)
在if语句中包装.. in以从原型中过滤掉不需要的属性
这意味着
for (const key in state.report.data.report) {
if (state.report.data.report.hasOwnProperty(key)) {
labels.push(key);
}
}
并使用Object。{keys,values,entries}进行迭代
这意味着
for (const key in Object.keys(state.report.data.report)) {
labels.push(key);
}
但您的代码正在推送key
而不是属性的值,因此可以替换为
getLabels(state) {
return Object.keys(state.report.data.report || {});
},