簡體   English   中英

TypeScript / JavaScript數組值推送

[英]TypeScript/JavaScript array value push

我有這個對象:keyValue:{key:string,value:number} [];

我想從兩個值向此數組添加一個新元素,如下所示:

 let tmpTabKV : { key : string , value : number}[];
 [...]
 tmpTabKV.push({projet.libelle, statKV.value});
 [...]
 keyValue  = tmpTabKV;

我嘗試了多種語法,然后看到了這一點: 如何將鍵/值對添加到JavaScript對象?

但是我看不到創建新對象的任何鍵。 數組的使用使我出錯

tmpTabKV.push(Array(projet.libelle, statKV.value));

您應該將對象文字推入數組

let tmpTabKV : { key : string , value : number}[] = []
tmpTabKV.push({key:projet.libelle, value:statKV.value});

根據let tmpTabKV : { key : string , value : number}[]; 做就是了 :

tmpTabKV.push({key: project.libelle, value: statKV.value})

但我想你想要這個:

tmpTabKV.push({[project.libelle]: statKV.value})

我注意到了一些問題:首先,您將一個新對象推入數組,就好像它本身就是一個數組一樣。 也就是說,您依賴於值的位置來映射到鍵的位置。 在對象中,鍵始終是無序的,因此必須始終指定。

tmpTabKV.push({key: project.libelle, value: statKV.value})

您使用{project.libelle, startKV.value}所做的事情是使用速記語法創建一個對象,該語法在您的示例中不起作用。

在打字稿中,如果要限制對象中的鍵,請實現一個接口。

interface KeyValue { key: string, value: number }

let tmpTabKV: KeyValue[];

// ...

tmpTabKV.push({key: project.libelle, value: number});

您應該推送一個對象:

interface KeyValuePair{
   key: string:
   value: number;
}

let tmpTabKV: KeyValuePair[];

tmpTabKV.push(new {key: projet.libelle, value: statKV.value});

暫無
暫無

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

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