在 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