数组: 存储多个数据
存储任意类型的数据
长度可以改变
有索引的概念,可以根据索引操作数据中的数据
提供了一些列的方法操作数组
长度属性 数组名.length
使用数组中的数据 数据名[索引] 赋值,修改值,获取值
如何定义数组:
new Array() 通过new关键字创建一个空数组
new Array(值1,值2..) 通过new关键字创建数组并同时赋值
[值1,值2,...] 字面量方式创建数组----推荐
var arr=new Array();
console.log(arr);
//2.new Array(1,2,3);
var arr2=new Array(1,2,3,4,5);
console.log(arr2);
//3[]
var arr3=['虹猫蓝兔七侠传','海绵宝宝','喜洋洋','马丁的早晨',true,123];
console.log(arr3);
var arr4=[{},{},{}];
console.log(arr4);
var arr5=[function(){}];
console.log(arr5);
arr[0]=123;
arr[1]='hehe';
arr[5]=null;
console.log(arr);
console.log(arr[2]); //undefined
//可以更改数组的长度
console.log(arr.length);
arr.length=1;
console.log(arr);
//数组的遍历
//1.普通for
for(var i=0;i<=arr3.length-1;i++){
console.log(arr3[i]);
}
//2.for..in
for(var a in arr3){ //a作为索引
console.log(arr3[a]);
}
//3.foreach
arr3.forEach(function(e,i){
console.log(e,i);
});
//当[]中的索引从0开始的整数,当做索引使用
arr[1]='1';
//当[]中的数据是非0及以上的整数作为自定义属性使用
arr[-1]="属性1";
arr['haha']="属性2";
arr[false]="属性3";
console.log(arr);
console.log(arr['haha']);
- slice 截取(切片)数组,原数组不发生变化
* 参数1 这个索引位置开始截取到最后
* 参数2个 从起始索引开始截取到结束索引,结束索引不包含
* 原数组不变
splice 剪接数组,原数组变化,可以实现前后删除效果
参数1 原数组相当于剪切 ,返回被截取的部分
参数2 参数1为起始索引,参数2为个数
参数3到多个 参数1为起始索引,参数2为个数,参数3到多个,为替换的数据
原数组改变
* */
var newarr=arr3.slice(1,3);
console.log(newarr);
console.log(arr3.slice(2));
console.log(arr3);
// console.log(arr3.splice(2));
// console.log(arr3.splice(1,4)); //返回截取的数据
console.log(arr3.splice(1,4,‘哈哈’,‘呵呵’)); //返回截取的数据
console.log(arr3); //相当与剪切