数组
定义数组
1.var 数组称号 = [元素1,元素2,…];
var arr=[];//定义空数组
var arr1=[100,'前端',true,undefined];//定义数组同时增加差别范例的元素
2.组织函数体式格局
var 数组称号 = new Array(元素1,元素2,…);
var 数组称号 = new Array(length);
length:number范例,示意数组的长度(存在元素的个数)
var arr=new Array();//用new制造出一个空数组的组织函数
var arr1=new Array(100,'前端',true,undefined);//用new制造一个空数组的组织函数并增加元素
3.函数体式格局定义
var 数组称号 = Array(元素1,元素2,…);
var 数组称号 = Array(length);
length:number范例,示意数组的长度(存在元素的个数)
var arr=Array();//定义一个空数组
var arr1=Array(100,'前端',true);//定义一个空数组并增加元素
var arr2=Array(20);//定义一个数组并给它开20个位置
索引数组
示意数组中元素的位置运用数字值来示意的
数字值:示意元素的位置,也就是下标
数组的长度与元素的个数是一致的
var arr=[];//定义一个空数组
arr[0] = '大前端';
arr[1] = true;
关联数组
示意数组中元素的位置运用字符串来示意
注重关联数组的数组长度与元素个数不一致,length在关联数组中失效
var arr=[];//定义一个空数组
arr['name'] = '孙悟空';
arr['age'] = 500;
arr['job'] = '花果山美猴王';
希罕数组
数组的长度与元素的个数不一致的,索引数组的位置许可不一连的,没有定义元素的位置默以为空
var arr=[];
arr[0] = '美猴王';
arr[3] = 500;
arr[5] = '花果山';
接见数组的元素
数组称号[索引值]
var arr=['大前端',100,null];//定义数组
console.log(arr[0]);//输出arr中0位置的内容
console.log(arr[5]);//接见arr中位置5的内容,虽然不存在,然则也不报错,返回undefined
数组的复制
var num=100;
var res=num;
console.log(num);//输出效果:100
console.log(res);//输出效果:100
num=200;
console.log(res);//输出效果:100
//复制变量里的值,不论原变量怎样修正值,都不影响复制它值的另一个变量的值
var arr=['大前端',100,true];
var arr1=arr;
console.log(arr);//输出效果:['大前端',100,true]
console.log(arr1);//输出效果:['大前端',100,true]
arr=[100];
console.log(arr);//输出效果:[100]
console.log(arr1);//输出效果:['大前端',100,true]
arr[0]=100;
console.log(arr);//输出效果:[100,100,true]
console.log(arr1);//输出效果:[100,100,true]
/*复制一个数组,假如被复制的原数组,只会把原数组中的存储地点位置赋值给另一个数组,
另一个数组会跟它一同经由过程地点位置连接到同一个存储位置,假如原数组修正本身内里的值
会影响另一个数组,假如原数组直接从新赋值一个新数组,则不影响另一个数组*/
数组的修正
//索引数组的修正
var arr=['大前端',100];
arr[0]='前端';
//关联数组的修正
var arr1=[];
arr1['name']='孙悟空';
arr1['age']=500;
arr1['name']='唐僧';
数组的删除
//索引数组的删除
var arr1=['大前端',true];
delete arr1[0];
//关联数组的删除
var arr2=[];
arr2['kecheng']='大前端';
arr2['name']='张三';
delete arr2['kecheng'];
轮回遍历数组
var arr = ['前端', 200, true, undefined];
// while语句
var i = 0;
while (i < arr.length){
console.log(arr[i]);
i++;
}
// do...while语句
var i = 0;
do {
console.log(arr[i]);
i++;
} while (i < arr.length);
// for语句
for (var i=0; i<arr.length; i++) {
console.log(arr[i]);
}
for…in语句
for语句:轮回的最先和完毕,都是由程序员决议的
for..in语句:轮回只能从最先到完毕
var arr = ['前端', 100, true, undefined];
/*
for (var 变量 in 数组) {
代码段
}
* 变量:获得的是数组的索引值
*/
for (var i in arr) {
console.log(arr[i]);
}
// 关联数组的length属性为 0
var arr1 = [];
arr1['name'] = '张三';
arr1['age'] = 28;
arr1['job'] = '程序员';
// for..in语句能够轮回遍历关联数组, for语句不可
for (var i in arr1) {
console.log(arr1[i]);
}
// 希罕数组 - 数组的长度与元素的个数不一致
var arr2 = [];
arr1['name'] = '李四';
arr1['age'] = 89;
arr1['job'] = '运动员';
// for..in语句轮回遍历希罕数组(直接获得有用元素值), for语句不可
for (var i in arr2) {
console.log(arr2[i]);
}
二维数组
var arr = [];// 定义一个空数组
arr[0] = [苹果X,8999,2017];
arr[1] = [小米,999,2016];
arr[2] = [华为,4563,2017];
console.log(arr);
// 接见二维数组中的元素
var result = arr[0];
console.log(result[0]);
console.log(arr[0][0]);
// 轮回遍历二维数组
for (var i=0; i<arr.length; i++) {
console.log(arr[i]);
for (var j=0; j<arr[i].length; j++) {
console.log(arr[i][j]);
}
}