一、什么是数组
把一组数据存放在单个变量下的方式,数据的有序集合。
二、数组的创建方式
- 字面量创建:
var arr = [];
- 构造函数创建
var arr = new Array();
当使用构造函数创建数组时。如果只有一个数据,会被表示创建数组的长度
三、数组的操作
1. 索引+长度操作(数组的原生操作)
- 增:直接给数组进行赋值操作
arr[index]='Hi'
- 删:直接对数组的长度进行修改
arr.length=1;
- 改:直接对数组索引进行赋值操作
- 查:利用for循环对数据进行遍历,直接打印指定数组的索引号进行查看
2. 方法操作
- push();
var arr = ["a","b","c","d","e","f"];
var res = arr.push("hello","world");
console.log(res);
// 功能:末尾新增
// 参数:要新增的数据
// 返回值:新增之后的数组的长度
// 是否改变原数组:是
- pop();
var arr = ["a","b","c","d","e","f"];
var res = arr.pop();
console.log(res);
// 功能:末尾删除
// 参数:无
// 返回值:删除之后的数组的长度
// 是否改变原数组:是
- unshift();
var arr = ["a","b","c","d","e","f"];
var res = arr.unshift("hello","world");
console.log(res)
// 功能:开头新增
// 参数:要新增的数据
// 返回值:新增之后的数组的长度
// 是否改变原数组:是
- shift();
var arr = ["a","b","c","d","e","f"];
var res = arr.shift();
console.log(res)
// 功能:开头删除
// 参数:无
// 返回值:删除之后的数组的长度
// 是否改变原数组:是
- splice();
var arr = ["a","b","c","d","e","f"];
var res = arr.splice(2, 3, "hello", "123","asdas","asdas");
console.log(res);
// 功能:删除并替换
// 参数:
// 第一个参数:要删除数据的起点索引,必传
// 第二个参数:删除的数据的个数,可选
// 第三个参数:在删除的位置插入数据,可选
// ...:删除的位置要插入数据,可选
// 是否改变原数组:是
6.slice();
var arr = ["a","b","c","d","e","f"];
var res = arr.slice(2,5);
console.log(res);
// 功能:截取指定位置的数据
// 参数:
// 参数1:起点
// 参数2:终点(不包括)
// 返回值:截取出的新数组
// 是否改变原数组:否
- sort()
var arr = [23, 65, 13, 146, 9, 78];
var res = arr.sort(function (q, z) {
return z - q;
});
console.log(res);
console.log(arr)
// 功能:排序,默认排序规则:字符的排序规则
// 参数:
// 函数
// 这个函数又接收了两个参数
// 这个函数需要有返回值
// 返回值是两个参数之差
四、数组的分类
- 当数组中全为字符时,叫做字符数组
- 当数组中全为数值时,叫做数值数组
- 当数组中全为对象时,叫做对象数组(json数组)
- 当数组中全为数组时,叫做二维数组
当数组为复杂类型数组时,需要逐层解析