数组的基本概念
数组定义
数组是存储1个或多个数据的容器,它是一组内存空间。 通常用来批量处理数据
这组内存空间的名字,叫做数组名
数组特点
数组 对其自身储存的数组元素并没有什么限制,无论是数量还是类型
通过数组下标(从0开始)来管理数组元素,不能直接通过数组名来操作数组元素,需要结合下标
长度 (.length)
数组名.length: 表示的是数组的长度,也是数组当前存储元素的个数
下标从0开始,所以数组长度-1表示数组内最后一个元素的下标
创建数组
- 传统写法
var arr = new Array();
var str = new String();
- 字面量(语法糖)
var arr = [1,2,3,"haha"];
访问数组
- 访问单个元素
console.log(arr[0]);
- 访问全部元素
//数组和循环的结合使用
for(var i = 0; i < arr.length; i++){
console.log(arr[i]);
}
数组越界: 访问了不属于该数组的内存空间
for-in 遍历:
var a = ["中国","美国","日本"]
//for in 遍历数组
for(country in a){
alert("我去过"+a[country])
}
//country 代表数组a的元素 a为数组名
数组方法
- push: 将一个元素添加到数组的最后一位
var xixi = "咦嘻嘻~";
arr.push(xixi);
- unshift: 添加到数组的第一位
arr.unshift("好困");
- pop(): 删除数组最后一个元素
arr.pop();
- shift: 删除数组第一个元素
arr.shift();
- slice(开始,结束) : 截取数组中的指定范围,并将其返回 (需要多次使用就定义新数组来接收)
注意: 从开始位置,到结束位置的前一位, 是指定的范围
var arr2 = arr.slice(0,2);
- splice(开始的位置,修改的长度)
删除:只规定了开始位置和修改的长度,但是没有规定新的内容
替换: 规定了开始位置和修改长度,也规定了新的内容
插入: 新内容的个数,多于修改的长度
arr.splice(0,2,"坐下吧");
slice和splice区别
- slice不会修改原数组,只是复制出来一份新的内容
- splice修改原数组的数据,没有复制出新的内容
join ( )
将数组中的元素,全部转换为字符串,并拼接起来。 最后返回
可以指定以什么符号分隔,例如"/" 或者" " 代码join("/")
var a = arr_two.join();