function split(str)
{
var array = str.split(';');
var test[][] = new Array();
for(var i = 0; i < array.length; i++)
{
var arr = array[i].split(',');
for(var j = 0; j < arr.length; j++)
{
test[i][j]=arr[j];
}
}
}
平变化= “分裂( '1,2,3; 4,5,6; 7,8,9; A,B,C。; d,E,F; G,H,I')”
它不起作用。我需要将此字符串拆分为6 * 3多维数组
答案 0 :(得分:1)
var array[][] = new Array()
不是声明数组的有效语法。 Javascript数组是一维的,让你嵌套它们。这意味着您需要先自己在每个插槽中插入一个新阵列,然后才能开始追加它。
像这样:http://jsfiddle.net/Squeegy/ShWGB/
function split(str) {
var lines = str.split(';');
var test = [];
for(var i = 0; i < lines.length; i++) {
if (typeof test[i] === 'undefined') {
test[i] = [];
}
var line = lines[i].split(',');
for(var j = 0; j < line.length; j++) {
test[i][j] = line[j];
}
}
return test;
}
console.log(split('a,b,c;d,e,f'));
答案 1 :(得分:0)
var test[][]
是一种无效的javascript语法。
要创建一个2D数组(一个数组数组),只需声明数组并将数组推入其中。
这样的事情:
var myArr = new Array(10);
for (var i = 0; i < 10; i++) {
myArr[i] = new Array(20);
}
我会让你将此问题应用于你的问题。另外,我不喜欢你的功能名称,尝试使用与标准不同的东西,以避免在你从现在开始几天或几个月阅读代码时产生混淆。
答案 2 :(得分:0)
function split(str)
{
var array = str.split(';'),
length = array.length;
for (var i = 0; i < length; i++) array[i] = array[i].split(',');
return array;
}
答案 3 :(得分:-1)
var str='1,2,3;4,5,6;7,8,9;a,b,c;d,e,f;g,h,i';
var arr=str.split(";");
for(var i=0;i<arr.length;i++)arr[i]=arr[i].split(",");
现在arr
是一个包含6个元素的数组,每个元素包含3个元素的数组。
访问元素:
alert(arr[4][2]); // letter "f" displayed