javascript - 在 JavaScript 中处理多维数组不起作用

标签 javascript

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];
        }
    }
}

onchange="split('1,2,3;4,5,6;7,8,9;a,b,c;d,e,f;g,h,i')"

它不起作用。我需要将这个字符串拆分为 6*3 多维数组

最佳答案

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'));

关于javascript - 在 JavaScript 中处理多维数组不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814407/

相关文章:

javascript - 如何使用 IE7 Javascript 内存泄漏检测器?

javascript - 隐藏不属于某个类的元素

javascript - 为什么博主在页面加载之前显示齿轮图像?

javascript - 暂时禁用 AngularJS 中的表单验证

javascript - 在 KnockoutJS 中将数据推送到数组时出现问题

javascript - 如何使用 angularjs 将 $http 请求返回的数据用于同一 Controller 中的另一个请求?

javascript - 语法 - 更改预加载的图像

javascript - oncontextmenu 是跨浏览器的吗?

javascript - 如何组合相似的功能 - Javascript

javascript - 如何设置一个专注于点击的元素?