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