您的当前位置:首页正文

二维数组的创建以及简单举例

来源:化拓教育网
⼆维数组的创建以及简单举例

⼀、.定义

在⼀维数组⾥⾯再定义多个⼀维数组,则是⼆维数组。(这个定义可能有点⽚⾯,但是⼆维数组的原理⼤致是这样,在很多语⾔中,对于⼆维数组已经三维数组,或者说是多为数组,都是这种思想,⽐如c语⾔,c++等,只不过在不同的语⾔中,可能定义⽅式有些出⼊)。eg :

  var arr = [    [1,2,3],    [4,5,6],    [7,8,9],    [10,11,12]  ]

⼆、⼆维数组的练习

1. 通过循环按⾏顺序为⼀个5×5的⼆维数组a赋1到25的⾃然数 试编程。

分析: 1. 先创建⼀个⼀维数组arr

2. 利⽤循环,给a数组中,push5个数组,这样就创建了⼀个⼆维数组 3. 之后,想办法将1-25的⾃然数,放到数组中 4. 返回数组function fn() { var arr = []; var count = 1;

for(var i = 0; i< 5; i++) { arr.push([]);

for(var j = 0; j < 5; j++) { //arr[i][j] = count++; arr[i].push(count++); } }

return arr;}

console.log(fn());

2. 定义⼀个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出⼀个平均值,放在另⼀个数组中。试编程。

分析: 1. 先定义三个数组,arr1【⽤来存放原数据】,arr2 【⽤来存放将arr1每五个分割开的数】,meanValue【⽤来存放平均值】. 2. 将原数组中的数据,每五个进⾏分割,放⼊arr2中。 3. 对arr2中的每⼀组数据求平均数,放⼊meanValue中. 4. 返回meanValue.function fn() { var arr = []; var arr2 = [];

var meanValue = [];

for(var i = 2;i <= 60; i += 2) { arr.push(i); }

for(var i = 0;i < 6;i++) {

arr2.push(arr.splice(0,5)); }

for(var i = 0;i < arr2.length; i++) { var sum =0;

for(var j = 0; j < arr2[i].length; j++) { sum += arr2[i][j]; }

meanValue.push(sum/5); }

return meanValue;}

console.log(fn());

3. 通过循环按⾏顺序为⼀个5×5的⼆维数组a赋1到25的⾃然数,然后输出该数组的左下半三⾓的和。试编程。

分析:1. 先给⼀个5*5的⼆维数组赋值 2. 求下半三⾓元素的和。function fn() { var arr = []; var count = 1;

var sum = 0;

for(var i = 0; i < 5;i++) { arr.push([]);

for(var j = 0; j< 5;j++) { arr[i].push(count++); } }

for(var i = 0; i < 5; i++) { for(var j = 0;j <= i; j++) { sum += arr[i][j]; } }

return sum;}

console.log(fn());

4. 编写函数norepeat(arr) 将数组的重复元素去掉

分析:1. 利⽤选择排序的思想,对数组中的每⼀个数据进⾏⽐较,如果两个元素相同,则删除后⾯的元素 2. 在将元素删除之后,要让后⾯的元素向前移了之后,需要对当前位置的元素重新进⾏判断。 3. 返回原数组。

var arr=[1,2,5,4,6,3,2,1,4,5,2,3,6,5,4,1,2,3,2];function norepeat(arr) {

for(var i = 0; i< arr.length-1; i++) { for(var j = i+1;j< arr.length;j++) { if(arr[i] == arr[j]) { arr.splice(j,1); j--; } } }

return arr;}

console.log(norepeat(arr));

5. 封装功能“有⼀个从⼩到⼤排好序的数组。现输⼊⼀个数,要求按原来的规律将它插⼊数组中”

var arr = [1, 2, 3, 4, 5, 7, 8, 9];function fn(arr, k) { var flag = true;

for (var i = 0; i < arr.length; i++) { if (arr[i] >= k) {

arr.splice(i, 0, k); flag = false; break; } }

if (flag == true) { arr.push(k); }

return arr;}

console.log(fn(arr, 410));

因篇幅问题不能全部显示,请点此查看更多更全内容