数组——数组创建及操作
Posted y-dt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组——数组创建及操作相关的知识,希望对你有一定的参考价值。
创建数组
1. 字面量
var BAT = [‘Alibaba‘,‘Tencent‘,‘Baidu‘];
var students = [{name:‘ydt‘,age:23},{name:‘yjx‘,age:40}];
var arr = [‘a‘,123,true,null,undefined];
var arrInArr = [[1,2],[3,4,5]];
2. new Array
var arr = new Array();
var arrWithLength = new Array(100);//undefined*100
var arrLikesLiteral = new Array(true,false,null,1,2,‘hi‘);//等价于[true,false,null,1,2,‘hi‘];
数组长度限制范围:0~2的23次方-1。
数组读写
var arr = [1,2,3,4,5];
arr[1];//2
arr.length;//5
arr[5] = 6;//可以动态添加数组长度
arr.length:;//6
数组元素增删
动态的,无需指定大小
//数组尾部增加元素
arr.push();
arr[arr.length] = 4;//equal to arr.push(4);
//数组头部增加元素
arr.unshift(0);
var = [1,2];
delete arr[0];//删除索引,值变为undefined
arr[0];//undefined , 长度不变。
arr.length;//2
0 in arr;//false,0索引已被删除,如果不执行delete,主动为arr[0]设置值为undefined,0 in arr将得到true。
//数组尾部元素删除
arr.pop();
arr.length--;//equal to arr.pop();
//数组头部元素删除
arr.shift();
数组迭代
1. 普通for循环
var i = 0,n=10;
var arr = [1,2,3,4,5];
for(;i<n;i++){
console.log(arr[i]);
}
2. for in (不建议)
会迭代原型链上的属性
var i = 0,n=10;
var arr = [1,2,3,4,5];
for(i in arr){
console.log(arr[i]);
}
3. for of
var i = 0,n=10;
var arr = [1,2,3,4,5];
for(i of arr){
console.log(i);
}
4.Array.prototype.forEach
var arr = [1,2,3,4,5];
arr.forEach(function(value,index,arr){
console.log(value);
})
只为数组指定大小,未设置值,则不存在索引属性(尽管里面的数组元素均为undefined),但若认为设置数组元素为undefined,如arr[0] = undefined,则存在索引属性。
以上是关于数组——数组创建及操作的主要内容,如果未能解决你的问题,请参考以下文章