JS数组
数组的创建
var arr = [值1,值2,值3];//隐式创建
var arr = new Array(值1,值2,值3);//直接实例化
var array = new Array(size);//创建数组并指定长度
基本操作
1、数组的长度可以通过length 属性来获取,并可以任意更改
2、数组中的每一个元素都可以被访问和修改,甚至是不存在的元素,无所谓越界
数组遍历
1、for(var i=0; i < 数组.length;i++) { }
2、for(var 下标名 in 数组){ }
3、数组.forEach(function(元素、下标) { } );
了解
如果下标:
1.为非负整数(包括整数字符串):自动从0开始,不存在添加undefined
2.为负数、小数、非数字符串:这些内容不计算在长度内,当成“属性”处理,相当于自定义属性
数组非常灵活,使用数组元素
1.下标:非负整数(包括数字符串)
数组.下标
数组[下标]
2.下标:负数、小数、非数字字符串:
数组[属性]
* for – > 不遍历属性
* foreach – > 不遍历属性和索引中的undefined
* for in – > 不遍历索引中的undefined
数组中提供的用法:
push 添加元素到最后
unshift 添加元素到最前
pop 删除最后一项
shift 删除第一项
reverse 数组翻转
join 数组转成字符串
indexOf 数组元素索引
slice 截取(切片)数组,原数组不发生变化
splice 剪接数组,原数组变化,可以实现前后删除效果
concat 数组合并
<script type="text/javascript">
/*数组的创建*/
var arr1 = [1,2,3];
var arr2 = new Array(4,5,6);
var arr3 = new Array(5);
console.log(arr1);
console.log(arr2);
console.log(arr3);
// 获取数组的长度
console.log(arr1.length);
arr1.length = 10;
console.log(arr1);
// 获取数组中的元素
console.log(arr1[1]);
console.log(arr1[20]);
arr1[2] = 33; // 修改已有的元素
arr1[20] = 100; // 不存在的元素会直接创建
arr1["a"] = "Hello"; // 添加自定义属性
console.log(arr1);
console.log(arr1.length);
/* 1、for(var i=0; i < 数组.length; i++) {} */
for(var i = 0; i < arr1.length; i++) {
console.log(arr1[i]);
}
console.log("=============");
/* 2、for(var 下标名 in 数组) {} */
for(var index in arr1) {
console.log(arr1[index]);
}
console.log("=============");
/* 3、数组.forEach(function(元素,下标){}) */
arr1.forEach(function(element,index){
console.log(element);
console.log(index);
console.log("----");
});
console.log("===========常用方法===========");
var arr4 = [1,"Hi",true,{"name":"zhangsan"}];
console.log(arr4);
// push 添加元素到最后 unshift 添加元素到最前
arr4[arr4.length] = "2";
arr4.push("Hello");
arr4.unshift(0);
// join 数组转成字符串
var str = arr4.join(",");
console.log(str);
//split
console.log(str.split(","));
// concat 数组合并
var arr = arr4.concat(arr2);
console.log(arr);
</script>