JavaScript基础(六) (数组)

一、初识数组

1、创建数组

创建数组的两种常见方式的用法:

  • 使用“new Array()”创建数组
  • 使用“[ ]”字面量来创建数组
// 使用new Array()创建数组
var arr1 = new Array();
// 使用字面量来创建数组
var arr1 = [];

2、访问数组元素

使用索引来访问数组中的元素,索引是一个数字,从0开始。

var arr = ['苹果', '橘子', '香蕉', '桃子'];
console.log(arr[0]);	// 输出结果:苹果
console.log(arr[1]);	// 输出结果:橘子
console.log(arr[2]);	// 输出结果:香蕉
console.log(arr[3]);	// 输出结果:桃子
console.log(arr[4]);    // 输出结果:undefined(数组元素不存在)

3、数组遍历

数组遍历是将数组中的元素全部访问一遍,可以利用for循环来实现,在for循环中让索引从0开始自增。
如果数组元素比较多时,计算数组元素的个数不太方便,这时候可以利用数组名.length来快速地获取数组长度。

<script>
        var arr=['red','green','blue']
        for(var i=0;i<3;i++){
            console.log(arr[i]); //i计数器当索引号使用
        }   //打印结果为 ['red','green','blue']
    </script>
<script>
        var arr=[1,2,3,4,5,6,7]
        for(var i=0;i<arr.length;i++){    //利用数组名.length来快速地获取数组长度
            console.log(arr[i]);   //打印结果为[1,2,3,4,5,6,7]
        }
    </script>

二、数组元素操作

1、修改数组长度

使用“数组名.length”可以获取或修改数组的长度。

var arr1 = [1, 2];
arr1.length = 4; 		// 大于原有长度
console.log(arr1); 	// 输出结果:(4) [1, 2, empty × 2]
var arr2 = [1, 2, 3, 4];
arr2.length = 2;		// 小于原有长度 
console.log(arr2);     	// 输出结果:(2) [1, 2]
var arr3 = [1, 2];
var arr4 = [1];
arr4.length = 4;		// 修改数组的长度为4
console.log(arr4);	 	// 输出结果:(4) [1, empty × 3]
console.log(arr4[1]);	// 输出结果:undefined

在这里插入图片描述

2、新增或修改数组元素

如果给定的索引超过了数组中的最大索引,则表示新增元素,否则表示修改元素。

var arr = ['red', 'green', 'blue'];
arr[3] = 'pink';	   // 新增元素
console.log(arr);	   // (4) ["red", "green", "blue", "pink"]
arr[0] = 'yellow';	   // 修改元素
console.log(arr);	   // (4) ["yellow", "green", "blue", "pink"]

3、筛选数组元素

var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArr = [];
var j = 0;
for (var i = 0; i < arr.length; i++) {
  if (arr[i] >= 10) {
    newArr[j++] = arr[i];    // 新数组索引号从0开始,依次递增
  }
}
console.log(newArr);       // 输出结果:(3) [77, 52, 25]

4、删除指定的数组元素

例子:将数组[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的0去掉后,形成一个不包含0 的新数组。
1.需要一个新数组用于存放筛选之后的数据
2.遍历原来的数组,把不是0的数组添加到新数组里面,采用数组名+索引的形式接收数据
3.新数组里面的个数,用length不断累加

var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
  if (arr[i] != 0) {
    newArr[newArr.length] = arr[i]; 
  }
}
console.log(newArr);	// 输出结果:(7) [2, 6, 1, 77, 52, 25, 7]

5、反转数组元素顺序

例子:将数组[‘red’, ‘green’, ‘blue’, ‘pink’, ‘purple’]的内容反过来存放
1、声明一个新数组newArr;
2、把旧数组索引号第4个取过来(arr.length-1).给新数组索引号第0个元素
3、采取递减的方式

var arr = ['red', 'green', 'blue', 'pink', 'purple'];
var newArr = [];
for (var i = arr.length - 1; i >=0; i--) {
  newArr[newArr.length] = arr[i];
}
// 输出结果:(5) ["purple", "pink", "blue", "green", "red"]
console.log(newArr);

三、二维数组

1、创建二维数组

创建二维数组的两种常见方式的用法:
(1)使用“new Array()”字面量来创建数组

var info = new Array(
  new Array('Tom', 13, 155),
  new Array('Lucy', 11, 152)
);
console.log(info[0]);          // 输出结果:(3) ["Tom", 13, 155]
console.log(info[0][0]);	// 输出结果:Tom

(2)使用“[ ]”字面量来创建数组

var nums = [[1, 2], [3, 4]];
console.log(nums[0]);	// 输出结果:(2) [1, 2]
console.log(nums[1][0]);	// 输出结果:3

2、二维数组求和

二维数组求和是对二维数组进行遍历,需要用双层循环来控制二维数组中的元素的索引值。

var arr = [[1, 5, 6], [10, 8]];
var sum = 0;
for (var i = 0; i < arr.length; i++) {	     // 遍历arr数组
  for (var j = 0; j < arr[i].length; j++) {   // 遍历arr[i]数组
    sum += arr[i][j];	                    // 二维数组元素累加
  }
}
console.log(sum);	// 输出结果:30

3、二维数组转置

二维数组的转置指的是将二维数组横向元素保存为纵向元素。
转置规律:
res[0][0] = arr[0][0]
res[0][1] = arr[1][0]
res[0][2] = arr[2][0]
res[0][3] = arr[3][0]
在这里插入图片描述

var arr = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['j', 'k', 'l']];
var res = [];
for (var i = 0; i < arr[0].length; i++) {
  res[i] = [];
  for(var j = 0; j < arr.length; j++) {	
    res[i][j] = arr[j][i];	// 为二维数组赋值
  }
}
console.log(res);

打印结果为:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值