[英]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.