【发布时间】:2020-01-25 16:41:36
【问题描述】:
我先初始化空变量
let a = "";
let b = "";
let c = "";
然后调用 api 并在获取数据后将 api 响应中的值分配给变量。如果没有得到任何数据,那么这将是空的。
假设 dataArray 是我得到响应的数组。
所以,我所做的是:
dataArray = dataArray.map((x) => {
a = x.valueA;
b = x.valueB;
c = x.valueC;
});
我的响应和代码一切正常,但是当我通过 ESLINT 检查时,它返回的错误是 Use object destructuring
有没有人帮我解决这个问题。非常感谢任何支持
【问题讨论】:
-
你确定
dataArray是像[{}]这样的数组对象吗?因为如果您每次都使用地图,a,b and c会用新值重新声明。所以在循环结束时,最后一项值只添加了a,b and c -
我想也许你编辑你的真实代码太多了!我看不出它是如何被解构的。如果我是对的并且您需要更多帮助,请编辑您的帖子,但这里有一个类似的答案仅供参考stackoverflow.com/questions/47395070/…
-
@prasanth 是的 dataArray 就像 [{}]。并且 a、b 和 c 没有重新声明,因为它是在 api 调用之外声明的。当我在未完成的 map 函数下创建它时,它将重新声明。非常感谢互动
-
@user2740650 是的,我在这里写 sudo 代码,因为实际代码很长。而且我认为这里不需要实际的代码,因为我只是想理解这个概念。非常感谢您的互动。
-
请显示实际代码,或至少显示实际代码的最小表示 - 发布的代码没有多大意义(在重新分配
a或linter 警告)
标签: javascript eslint