如何在JavaScript中使用别名数组解构?

时间:2019-05-07 13:09:08

标签: javascript typescript

我想知道是否可以解构一个数组(在我的情况下为x)并创建一个别名,以避免保留关键字出现问题。

这里有个例子,但这给我一个错误。知道如何解决吗?谢谢

   const mk = (data) =>
      data.map((x, idx) => {
        const [a, b, for:xxx, d] = x
        return {
          a,
          b,
          for:xxx, // I want create an object with for property name
          d
        }
      })

2 个答案:

答案 0 :(得分:1)

在数组的上下文中,解构for: xxx没有任何意义。这仅适用于具有for属性(const {a, b, for: xxx, d } = x;)的对象。

xxx只是给定数组的第三个元素。 可以执行以下操作:

const mk = (data) =>
  data.map((x: any, idx: any) => {
    const [a, b, c, d] = x;
    return {
      a,
      b,
      for: c, // I want create an object with for property name
      d,
    }
  })

答案 1 :(得分:0)

您正在混合对象和数组。您想在数组解构中使用别名。

如果您要解构数组,则不需要别名

[A-Za-z0-9_-]


如果要解构对象,则使用const x = [ 'a', 'b', 'd', 'for', ]; const [ a, b, d, xxx, ] = x; console.log({ a, b, xxx, d });没问题。

for