簡體   English   中英

動態構建2D數組Javascript

[英]Dynamically build 2D array Javascript

我想動態地建立一個二維數組,但是遇到了麻煩。

答案和投票(單個字符串數組)的長度將始終相同;

我需要這樣的數組:

var data = 
        [['Answer', 'Votes'],
        [answers[0],  parseInt(votes[0])],
        [answers[1],  parseInt(votes[1])],
        [answers[2],  parseInt(votes[2])],
          ....
        ];

這行不通;

var data[];
var arrayLength = answers.length;
for (var i = 0; i < arrayLength; i++) {
    data += [answers[i], votes[i]]; //**Maybe the only line that needs tweaking?
}

嘗試這個:

var data = [];

data[0] = ['answers','votes']

var arrayLength = answers.length;
for (var i = 0; i < arrayLength; i++) {
    data[i+1]= [answers[i], parseInt(votes[i])]; 
}

//check
console.table(data)
var data = [];
var arrayLength = answers.length;
data[0] = ['Answer', 'Votes'];
for (var i = 1; i < arrayLength; i++) {
    data.push([answers[i], votes[i]]); /*It's not += but .push()*/
}

嘗試這個:

var data = [];
var arrayLength = answers.length;
for (var i = 0; i < arrayLength; i++) {
    data.push([answers[i], votes[i]]);
}

由於您是寫answers [i]votes[i] ,所以看來您的答案和票是在兩個不同的數組中。 那么為什么需要循環。

假設答案和投票為:

var answers = ["A", "B", "C", "D", "E", "F"];
var votes = ["1", "2", "3", "4", "5", "6"];

建立新陣列

var data = ["Answers", "Votes"];

data.Answers=answers;
data.Votes=votes;

console.log(data);

暫無
暫無

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

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