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

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23125.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论