1.数组是一个连续的储存空间
2.如何创建一个数组?
(1)字面量创建数组
var str = "";
var arr = [123,'wode',true,null,undefined];
(2)通过new 创建数组
var myArr = new Array(123,'wode',true,null,undefined);
当括号内只有一个数字型的内容时,例如:
var myArr = new Array(8);
注意这里的8代表的是 数组的长度为8 下标0,1,2,3,4,5,6,7
因此在遍历数组时 注意条件为 i<数组.length 而不是<=
(3)
数组的每一项可以是固定值
数组的每一项可以是变量
数组的每一项可以又是一个数组
数组里面又嵌套数组 ===> 二维数组
即利用for循环依次判断数组中每项的内容。
for(var i=0; i<arr.length; i++){
console.log(arr[i]);
if(arr[i] === true){
console.log('这个数组第' i + '项是true');
}
}
var arr = [0,1,2,3,4,5,6];
(1)添加的方法 push(要添加的内容),添加在数组的后面
arr.push('nihao');
(2)删除的方法
pop(),删除最后一项,从后往前删
arr.pop();
shift(),删除第一项,从前往后删
arr.shift();
splice(起始下标,删除几个)
arr.splice(3,1);
(3)替换的方法
splice(起始下标,删除几个,要替换成什么内容)
arr.splice(3,1,'nihao');
(4)插入的方法
splice(起始下标,0,要插入什么内容)
(5)数组的合并
concat(),有一个返回值,这个返回值为新数组,向后合并
var arr1 = [1,2,3];
var arr2 = [4,5,6];
var myArr = arr1.concat(arr2);
(6)数组的抽取
slice(起始下标,结束下标),结束下标的内容不被抽取
arr = [0,1,2,3,4,5,6];
arr.slice(3,5);
(7)数组的串联
join(),将数组的每一项以某种方式连接起来
var arr1 = [1,2,3];
arr1.join('*');
(8)注意:
concat()不会改变原来的数组,但是会产生一个新数组
var myArr = arr1.concat('nihao');
arr1仍然是原来的arr1,但是产生了一个新的myArr数组,myArr与arr1长度不同
push()会改变原来的数组
var myArr = arr1.push('nihao');
arr1长度改变了,myArr 与 arr1长度相同
var myArr = [1,2,3,4,5,2,3,4,2,23,4,5,2,2,3,54,3,3,4];