JS-part3.3-复杂数据类型之 数组和排序方法

三、数组数据类型Array

  • 复杂数据类型,存储一堆数据
    => 不是按照键值对存储
    => 按照索引进行存储的(序号)

3.1 数组的创建

1. 字面量创建[ ]

//创建一个空数组
var arr = [];
创建的时候直接添加成员
	=> 直接写在中括号中,多个数据使用逗号(,)隔开
// 字面量创建直接添加数据
  var arr = ['hello','world','你好','世界'];
  console.log(arr);

在这里插入图片描述

注:可以观察到数组也是有length属性的,也有索引,从0开始。

2. 内置构造函数Array()创建

创建的时候直接添加成员,分为3种情况:

		1.不传递函数
			=> 创建一个空数组
		2.传递一个正整数
			=> 这个参数表示数组的长度
		3.传递多个数据
			=> 每一个数据都是放在数组里面的数据
			=> 没有表示长度的数据
// 1. 不传递函数,创建一个空数组
var arr = new Array();
console.log(arr);

在这里插入图片描述

// 2. 传递一个数字
var arr = new Array(100);
console.log(arr);

在这里插入图片描述

// 3. 传递多个数据
var arr = new Array(10, 20, 30);
console.log(arr);

在这里插入图片描述

3.2 数组的操作

+ 数组有一个 length 属性
	=> 索引也是一个读写的属性
		=> 读:获取数组的长度
		=> 写:设置数组的长度
			-> 当你设置的比本身长度小,那么就相当于截取
			-> 当你设置的比本身长度大,那么多出来的就是用空补齐
var arr = ['你好','世界'];
	// console.log(arr.length);   // 2
	
	// 相当于只保留第一个数据,剩下的删除
    arr.length = 1;
	console.log(arr);  

在这里插入图片描述

// 把数组的长度强制设置成 100, 不够的用空补齐
arr.length = 100;
console.log(arr);  

在这里插入图片描述

+ 数组的排列
	=> 按照索引进行排列的
	=> 索引:
		-> 从 0 开始,依次 +1
		-> 最后一位的索引,就是 length - 1
	=> 索引也是一个读写的属性
		=> 读:获取到指定索引位置的数据
			-> 如果数组确实有这个索引位置,那么就是这个位置的数据
			-> 如果数组没有这个索引位置,那么就是undefined
		=> 写:设置指定索引位置的数据
			-> 如果有这个索引位置,那就是给这个索引位置设置
			-> 如果没有这个索引位置,就是添加
			-> 如果这个数字超出length,那么中间的位置用空补齐
// 使用索引读取数组中的数据
console.log(arr[0]);  //因为数组有[0]数据位置,所以得到的是'你好'
console.log(arr[99]);  //没有,undefined
        
arr[1] = 'world';
arr[2] = '新来的';
arr[20] = '最后一个';

console.log(arr);

在这里插入图片描述

+ 数组的遍历
	=> 因为数组是按照索引进行排列的
	=> for 循环能给我们提供一组有规律的数字
	=> 使用 for 循环遍历一个数组
+ 数组也是一个对象
	=> 数组除了可以按照索引排列一些数据
	=> 还可以当作对象使用,使用 点语法 存储一些数据
	=> 你把数组当作对象使用,使用for循环来遍历的时候,他的成员是不占用 length 位置的
	=> 你把数组当作对象使用,使用for in循环来遍历的时候
		-> 里面的每一个索引位置,每一个 key 都会被遍历出来
	=> 一般不会用它当作对象用
// 数组当作对象
  // 当一个数组创建好后,他这个名字就可以当做对象使用存储数据
  var arr = ['你好','世界'];
  
  arr.age = 18;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值