什么是数组:
- 数组是存储1个或多个数据的容器,它是一组内存空间。 通常用来批量处理数据
这组内存空间的名字,叫做数组名 - 数组是个不挑食的家伙,对其自身储存的数组元素并没有什么限制,无论是数量还是类型
通过数组下标(从0开始)来管理数组元素,不能直接通过数组名来操作数组元素,需要结合下标 - 数组名.length:
表示的是数组的长度,也是数组当前存储元素的个数
因为下标从0开始,所以数组长度-1表示数组内最后一个元素的下标;
创建一个数组
传统写法
var arr = new Array();
var str = new String();
字面量(语法糖)
var arr = [1,2,3,"haha"];
console.log(arr);
访问数组
访问单个元素
console.log(arr[0]);
访问全部元素
数组和循环的结合使用
for(var i = 0; i < arr.length; i++){
console.log(arr[i]);
}
数组与循环的结合:
循环访问数组时(遍历),容易出现数组越界的问题,一旦出现,会很麻烦;
数组越界: 访问了不属于该数组的内存空间
数组的方法:
push: 将一个元素添加到数组的最后一位
var xixi = "咦嘻嘻";
arr.push(xixi);
arr.push("哈哈");
console.log(arr)//[1,2,3,haha,咦嘻嘻,哈哈]
unshift: 添加到数组的第一位
arr.unshift("呵呵");
console.log(arr); //[呵呵,1,2,3,haha,咦嘻嘻,哈哈]
pop(): 删除数组最后一个元素
arr.pop();
console.log(arr);//[呵呵,1,2,3,haha,咦嘻嘻]
shift: 删除数组第一个元素
arr.shift();
console.log(arr);//[1,2,3,haha,咦嘻嘻]
返回 数组中指定的范围
slice(开始,结束) : 截取数组中的指定范围,并将其返回 (需要多次使用就定义新数组来接收)
注意点: 从开始位置,到结束位置的前一位, 是指定的范围
var arr2 = arr.slice(0,2);
console.log(arr2); //[1,2]
console.log(arr.slice(0,3)); //[1,2,3]
splice(开始的位置,修改的长度) :
删除:只规定了开始位置和修改的长度,但是没有规定新的内容
替换: 规定了开始位置和修改长度,也规定了新的内容
插入: 新内容的个数,多于修改的长度
arr.splice(0,2,"嘿嘿");
console.log(arr); //["嘿嘿", 3, "haha", "咦嘻嘻"]
slice和splice :
1. slice不会修改原数组,只是复制出来一份新的内容
2. splice修改原数组的数据,没有复制出新的内容
join(): 将数组中的元素,全部转换为字符串,并拼接起来。 最后返回
var arr_two = [1,2,3,4,5,6];
var a = arr_two.join();
console.log(typeof arr_two);//object
console.log(a);1,2,3,4,5,6