簡體   English   中英

如何在JavaScript中定義鋸齒狀的關聯數組?

[英]How to define a jagged associative array in javascript?

我試圖定義一個這樣工作的數組:

myArray[0] = 'Volkswagen'
myArray[0][0] = 'Crossfox'
myArray[1] = 'Ford'
myArray[1][0] = 'Focus'

我可以手工做,但是當然不是這樣做的。 我有一個簡單的數組:

arrayVolks = ['Crossfox', 'Up', 'Golf'];
arrayVolks[name] = 'Volkswagen';

我的問題是我不知道如何用帶有數組名稱的索引創建第一個數組然后添加數組

我在想這樣的方式:

var myArray = [ arrayVolks[name]: {arrayVolks} ] 

(緊隨其后的代碼更像是偽代碼,而不是實際的javascript)

可能嗎?

謝謝你的問候

您無法在javascript中創建這樣的數組:

myArray[0] = 'Volkswagen'
myArray[0][0] = 'Crossfox'
myArray[1] = 'Ford'
myArray[1][0] = 'Focus'

改用Object怎么樣?

var obj = {};
obj['Volkswagen'] = ['Crossfox', 'Up', 'Golf'];
obj['Ford'] = ['Focus'];

// get all brands
console.log(Object.keys(obj));

// print all "Volkswagen"
console.log(obj['Volkswagen']);
console.log(obj.Volskwagen);

鋸齒狀數組是數組的數組。

通過執行myArray[0] = 'Volkswagen'您將根數組的第一個元素設置為字符串,因此您已經違反了結構。

備用數據結構可能會更好,但是如果您希望有一個鋸齒狀的數組,則可以定義一個結構,其中每個嵌套數組的第一個元素是make,而其他元素將是模型。

 var cars = [ ['Volkswagen', 'Crossfox'], ['Ford', 'Focus'] ]; console.log(cars[0][0]); //Volkswagen console.log(cars[0][1]); //Crossfox 

暫無
暫無

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

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