1. 数组概念
一组按顺序排列的有序集合,集合的每个值称为元素,元素可以是任意的数据类型
数组用[]表示,元素间用逗号(,)分割
通过 数组名[下标] 来访问每个元素
案例说明
<script>
var arr = [1, 1.2, 'oh', NaN, [3, 4], {'name': 'rulai'}];
console.log(arr[4])
</script>
2. 数组的长度
<script>
var arr = [1, 1.2, 'oh', NaN];
console.log(arr.length); // 4
arr.length = 6;
console.log(arr); // [1, 1.2, "oh", NaN, empty × 2]
arr.length = 2;
console.log(arr); // [1, 1.2]
</script>
3. 数组的赋值
<script>
var arr = [1, 1.2, 3, 4];
console.log(arr.length); // 4
arr[1] = 2;
console.log(arr); // [1, 2, 3, 4]
arr[6] = 50; // 赋值超出了原下标最大值
console.log(arr); // [1, 2, 3, 4, empty × 2, 50]
</script>
4. 操作数组
4.1 返回该元素的数组下标
<script>
var arr = [1, 2, 3, 4];
console.log(arr.indexOf(3)); // 2
</script>
4.2 截取数组部分元素,返回一个新数组。不给参数则相当于复制
<script>
var arr = [1, 2, 3, 4];
console.log(arr.slice(0,2)); // [1, 2]
console.log(arr.slice()); // [1, 2, 3, 4]
</script>
4.3 数组尾添加若干元素
<script>
var arr = [1, 2, 3, 4];
arr.push('a', 'b');
console.log(arr); // [1, 2, 3, 4, "a", "b"]
</script>
4.4 数组尾弹窗元素
<script>
var arr = [1, 2, 3, 4];
arr.pop();
console.log(arr); // [1, 2, 3]
</script>
4.5 向数组头部添加若干元素
<script>
var arr = [1, 2, 3, 4];
arr.unshift('a', 'b');
console.log(arr); // ["a", "b", 1, 2, 3, 4]
</script>
4.6 删除数组第一个元素
<script>
var arr = [1, 2, 3, 4];
arr.shift();
console.log(arr); // [2, 3, 4]
</script>
4.7 对数组排序
<script>
var arr = [1, 5, 10, 20, 3, 4];
console.log(arr.sort()); // [1, 10, 20, 3, 4, 5]
</script>
4.8 反转数组元素
<script>
var arr = [1, 5, 10, 3, 4];
console.log(arr.reverse()); // [4, 3, 10, 5, 1]
</script>
4.9 splice()方法
4.9.1 删除功能
array.splice(index,num)
第一个参数为第一项位置
第二个参数为要删除几个
返回值为删除内容
array为结果值
案例说明
<script>
var arr = [1, 5, 10, 3, 4];
console.log(arr.splice(1, 3)); // [5, 10, 3]
console.log(arr); // [1, 4]
</script>
4.9.2 插入功能
array.splice(index, 0, insertValue)
第一个参数,插入位置
第二个参数,0
第三个参数,插入项
案例说明
<script>
var arr = [1, 5, 10, 3, 4];
arr.splice(1, 0, 'a', 'b')
console.log(arr); // [1, "a", "b", 5, 10, 3, 4]
</script>
4.9.3 替换功能
array.splice(index, num, insertValue)
第一个参数,起始位置
第二个参数,删除的项数
第三个参数,插入任意数量的项
案例说明
<script>
var arr = [1, 5, 10, 3, 4];
console.log(arr.splice(1, 3, 'a', 'b')); // [5, 10, 3]
console.log(arr); // [1, "a", "b", 4]
</script>
4.10 concat()方法
array.concat()
用于连接两个或多个数组
案例说明
<script>
var arr = [];
var arr1 = [1, 2];
var arr2 = [3, 4];
console.log(arr.concat(arr1, arr2)); // [1, 2, 3, 4]
console.log(arr); // []
</script>
4.11 join()方法
array.join()
把数组中的所有元素转换为一个字符串
案例说明
<script>
var arr = ['a', 'b', 'c', 'd'];
console.log(arr.join()); // a,b,c,d
console.log(arr.join('-')); // a-b-c-d
</script>
5. 二维数组和多维数组
5.1 二维数组的表示
arr[][]
5.2 二维数组的定义
1. 方法1
var arr = [[1, 2, 3], [2, 3, 4]];
2. 方法2
var arr = [];
for(var i=0;i<3;i++){ // 一维长度为3
a[i] = [];
for(var j=0;j<5;j++){ // 二维长度为5
a[i][j] = [];
}
}
5.3 二维数组的赋值
arr[1][2] = 5; // 1表示第二行,2表示第三列,其数改为5