簡體   English   中英

Javascript:具有數組值的鍵

[英]Javascript: Key with array value

我試圖用鍵作為數字和值作為對象數組來制作一個對象。 如何在javascript中完成?

我想創建一個看起來像這樣的對象:

{Key: "1", value: [Object, Object, ...], key: "2", value: [Object, Object, ...], key:"N", value: [Object, Object, ...]}

在javascript / typescript中怎么可能?

我試過了:

let myObj = {};
myObj["1"] = myObj["1"].push(Object)

上面的代碼不起作用。

push返回數組的新長度-因此只需調用函數(不對返回值做任何事),請確保已首先初始化目標數組:

let myObj = {};
myObj["1"] = myObj["1"] || [];
myObj["1"].push(Object);

您還可以定義一個自定義類型:

type objectContainingObjects = { [key: string]: object[] }

這是可能的,並且可以通過多種方式實現。 例如,要使用TypeScript實現所需的功能,可以執行以下操作:

/* Define a type describing the structure of your desired object (optional)
 */    
type CustomType = { [key: number]: Array<any> };

/* Create your object based on type definition with numbers as keys and array
   of objects as values */
const yourObject: CustomType = {
  1 : [1,2,3],
  2 : ['a','b','c'],
  3 : [ new Object(), new Object() ]
};

在JavaScript中,可以通過省略鍵入來實現:

 const yourObject = { 1: [1, 2, 3], 2: ['a', 'b', 'c'], 3: [new Object(), new Object()] }; console.log(yourObject); /* Adding more letters to value at key 2 */ yourObject[2].push('d', 'e', 'f'); console.log(yourObject); 

希望有幫助!

暫無
暫無

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

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