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