我有这个功能:
getLabels(state) {
const labels = [];
if (state.report.data.report) {
for (const key in state.report.data.report) {
labels.push(key);
}
}
return labels;
},
Run Code Online (Sandbox Code Playgroud)
你能解释一下我应该用我的函数做什么来避免 ESLint 检测到错误吗?它建议在 if 语句中包装 for.. 以从原型中过滤不需要的属性并使用 Object.{keys,values,entries} 进行迭代。
在 if 语句中包装 for.. 以从原型中过滤不需要的属性
这意味着
for (const key in state.report.data.report) {
if (state.report.data.report.hasOwnProperty(key)) {
labels.push(key);
}
}
Run Code Online (Sandbox Code Playgroud)
并使用 Object.{keys,values,entries} 进行迭代
这意味着
for (const key in Object.keys(state.report.data.report)) {
labels.push(key);
}
Run Code Online (Sandbox Code Playgroud)
但是您的代码正在推送key而不是属性的值,因此可以替换为
getLabels(state) {
return Object.keys(state.report.data.report || {});
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
496 次 |
| 最近记录: |