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