簡體   English   中英

Javascript 2維數組問題

[英]Javascript 2 dimensional array issue

我喜歡在javascript中以這種方式定義數組。 如果有人可以幫忙請。 讓我們說我有學院,每個學院都有一系列的價值觀。 我相信它不是2d數組要求。

data
[,[]]
[0,[1,2]]
[1,[3,4]]

我需要像這樣訪問數據。

array[0], it should give 1,2 in an array
array[1], it should give 3,4 in an array

沒有定義固定長度

[a,[b]]
[0,[1,2,3]]
[1,[3,4,5]]

我再次需要訪問這樣的數據。

array[0], it should give 1,2,3 in an array
array[1], it should give 3,4,5 in an array

請有人幫忙。 非常感謝

你可以這樣定義

var arr = [ [1,2,3],[4,5,6]];
arr.map(key=>console.log(key);)// here key itself will be an array..Loop through that to get your individual values.

您可以使用Map將每個學院的數字作為鍵,將數組作為其值,而不是2d數組。 您可以使用getset分別檢索和更新特定鍵的值

 const map = new Map([ [0, [1,2]], [1, [3,4]], [2, [1,2,3]], [3, [3,4,5]] ]) map.set(4, [10,20]) // to add a new value to map console.log(map.get(1)) // to retrieve value, use "get" console.log(map.get(3)) 

甚至一個對象也可以工作:

 const obj = { 0: [1, 2], 1: [3, 4], 2: [1, 2, 3], 3: [3, 4, 5] } console.log(obj[0]) console.log(obj[2]) 

如果你想在一個循環中這樣做,這一些ex。 去做吧。 下面這段代碼是為了獲得數月和日。

 var month= ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec']; var day= ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']; var daycounter = 0; var arr = []; for (var i = 0; i < 12; i++) { // 12 for month in 1 year arr[month[i]]=[]; // assump that avery month have 30 day and in 1st jan is sun for (var j = 0; j < 30; j++ , daycounter++) { daycounter = daycounter % 7; // this for reset the day name to "sun" again arr[month[i]][j]= day[daycounter]; console.log(arr[month[i]][j]+", "+ (j+1) + " " + month[i]); } } 

您可以根據需要改進它

暫無
暫無

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

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