• JS使用自定义的方法初始化数组

    在 JavaScript 中,数组在默认状态下是不会初始化的。如果使用[]运算符创建一个新数组,那么此数组将是空的。如果访问的是数组中不存在的元素,则得到的值将是 undefined。因此,在 JavaScript 程序设计中应该时刻考虑这个问题:在尝试读取每个元素之前,都应该预先设置它的值。如果在设计中假设每个元素都从一个已知的值开始(如 0),那么就必须预定义这个数组。

    示例1

    下面为 JavaScript 自定义一个静态函数,用于定义并初始化普通数组。

    //第一个参数设置元素的个数,第二个元素设置元素的初始值
    Array.dim = function (dimension, initial) {
        var a = [], i;
        for (i = 0; i < dimension; i += 1) {
            a[i] = initial;
        }
        return a;
    };

    借助该工具函数可以创建并初始化数组。例如,创建一个包含 100 个 0的数组。

    var myArray = Array.dim(100, 0);

    示例2

    下面再为 Array 定义一个矩阵式二维数组定义函数。

    //参数m表示行数,n表示列数,initial表示初始值
    Array.matrix = function (m, n, initial) {
        var a, i, j, mat = [];
        for (i = 0; i < m; i += 1) {
            a = [];
            for (j = 0; j < n; j += 1) {
                a[j] = initial;
            }
            mat[i] = a;
        }
        return mat;
    };

    下面就利用这个矩阵数组定义函数构建一个 5*5 的矩阵数组,且每个元素的初始值为 0。

    var myMatrix = Array.matrix(5, 5, 0);
    console.log(myMatrix[2][4]);  //返回值0

更多...

加载中...