簡體   English   中英

TypeScript 解構對象數組,第一個 object 和其中的一個值

[英]TypeScript destructure array of objects, both first object and a value within it

我有一個要解構的對象數組,檢索第一個 object 和其中的一個值:

const [{ a }] = ([firstObjectInArray] = [
  {
    a: 1,
  },
  {
    b: 2,
  },
]);
console.log(a); // 1
console.log(firstObjectInArray); // { a: 1 }

在 Javascript 這工作; 但在 TypeScript 中返回

Cannot find name 'firstObjectInArray'.ts(2304)

我試圖弄清楚如何輸入以避免錯誤。

由於firstObjectInArray不是您聲明的一部分(它只是一個表達式),它是對未聲明變量的賦值。

要解決此問題,您有兩種方法:

  • 分兩步進行:

     const [firstObjectInArray] = [ { a: 1, }, { b: 2, }, ]; const {a} = firstObjectInArray console.log(a); // 1 console.log(firstObjectInArray); // { a: 1 }

  • 提前聲明firstObjectInArray

     let firstObjectInArray; //<-- This can't be made `const`, as it has no initializer const [{ a }] = ([firstObjectInArray] = [ { a: 1, }, { b: 2, }, ]); console.log(a); // 1 console.log(firstObjectInArray); // { a: 1 }

您可以通過這種方式解構對象數組:

const [firstObjectInArray, ...rem] = [{ a: 1 }, { b: 2 }];

並以這種方式訪問該值:

console.log(firstObjectInArray); // {a: 1}

const { a } = firstObjectInArray;
console.log(a); // 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM