我有一个二维数组。 例如:
viewScope.myTest = [];
viewScope.myTest.push(["row1col1", "row1col2", "row1col3"]);
viewScope.myTest.push(["row2col1", "row2col2", "row2col3"]);
等
在我的组合框中,我想显示column3的所有值。 我怎么能这样做?
答案 0 :(得分:0)
要遍历数组的所有第3列,您需要执行以下操作:
// Creating the Structure you already got
var viewScope = {
myTest: []
}
viewScope.myTest.push(["row1col1", "row1col2", "row1col3"]);
viewScope.myTest.push(["row2col1", "row2col2", "row2col3"]);
viewScope.myTest.push(["row3col1", "row3col2", "row3col3"]);
// Get the Combobox by ID
var myCombobox = document.getElementById("myCombo");
// Iterate through all options of myTest
for (var i in viewScope.myTest)
{
// Create a new Option for the Select
var option = document.createElement("option");
// Add the 3rd Columns as Text
option.text = viewScope.myTest[i][2];
// Add the Option to the Select
myCombobox.add(option);
}
为什么? - 您正在创建一个二维数组。它的作用类似于:示例中的数组[row] [col]。 因为它们是索引,所以它们从0开始并计数到长度-1。
请查看:JSFiddle Link
答案 1 :(得分:0)
与你说的相反,你没有2-dim阵列。它是一个包含2个1-dim数组的1-dim数组。要仅获取第3列的值,您必须创建一个新数组:
var col3values= [];
for(var i in viewScope.myTest)
if(viewScope.myTest[i].length>=3)
col3values.push(viewScope.myTest[i][2];