如果我根据数组特定索引中的对象分配两个变量,我该如何传递 eslint 的 "prefer-destructuring" 规则?

How do I pass eslint's "prefer-destructuring" rule if I'm assigning two variables based off an object in a specific index of an array?

我有数组 touchEvents。看起来像:

evt: {
    touchEvents: [
       {
         clientX: 3,
         clientY: 4,
       }, {...}, ...
    ]
 }

我想将两个变量重新分配给数组的 [0] 位置的两个属性。

我做到了:

clientX = evt.touchEvents[0].clientX;
clientY = evt.touchEvents[0].clientY;

eslint linter 说:

error: Use object destructuring (prefer-destructuring)

所以我做了:

({ clientX, clientY } = evt.touchEvents[0]);

我得到了错误

error: Use array destructuring (prefer-destructuring)

我不明白如何使用 "array destructuring" 来分配这些变量。我已经阅读了 mdn docs and the eslint documentation on destructuring 但我仍然不明白它想要我做什么,或者更确切地说,如何使用数组解构来分配这些变量。

如何使用 "array destructuring" 传递此 eslint 规则并分配我的变量?

两行就是

const [ touchEvents ] = evt.touchEvents
const { clientX, clientY } = touchEvents

或单行

const { clientX, clientY } = evt.touchEvents[0]

const [{ clientX, clientY }] = evt.touchEvents

如果您觉得有任何规则困扰您,您可以随时禁用 // eslint-disable-next-line <the-rule-name>