数组(一)

数组:

当成一个容器,是一个数据结构

为什么要用数组?

 

   1:为了解决大量相关数据的存储和使用的问题。

   2:模拟真实的世界(班级、jd)。

创建数组:

1、通过构造函数的方式创建 var a =new Array();

    1)、直接赋值

     var a = new Array(数据1,数据2,...)

    2)、声明以后再赋值

     var a = new Array();

     //通过下标的方式添加

     var a[0] = 1;   var a[1] = 2;

2、通过语法糖的方式:(隐式声明的方式)var arr = [ ];

     1)、直接赋值:var a = [1,2,3,...];

 

     2)、声明以后再赋值:

      var a=[];    a[0]=1;  a[1]=2;  a[2]=3;

JS数组可以存放任何数据的值

修改数据

     arr[1] = '你好!';

删除数组

     delete arr[1];

访问数组

console.log(arr[1]);//访问下标为1的数据

//通过遍历的方式查询数组中的所有数据

for(var i = 0;i<arr.length;i++){

    console.log(arr[i]);

}

//通过for ... in遍历数组

语法:   for(var attr in arr){}

例:

 

for(var a in arr){

     console.log(a);//a每次循环被赋予的值是这个值的下标

     console.log(arr[a]);//访问的是数组的每个值

}

 

//使用for   in 遍历对象

 

var obj = {
	name : '张三',
	age : 24,
	hobby : ['打篮球','乒乓球','听音乐']
}
//console.log(obj.age);
//console.log(obj['age']);
for(var attr in obj){
	console.log(attr);//name   age   hobby
	console.log(obj[attr]);//name   age   hobby '打篮球','乒乓球','听音乐'
}

使用while循环遍历数组:

 

 

var arr = ['张三','李四','王五','赵四'];
var i = 0;
while(i<arr.length){
	console.log(arr[i]);
	i++;
}

 

根据下标来分类数组:

    如果下标都是数字,则称为索引数组

    如果下边都是字符转,则称为关联数组


根据维度来分类数组:

看数组的深度,往下嵌套的多少数组

数组的属性和方法:

属性:

1)、指定或者读取数组的长度

console.log(arr.length);//读取数组的长度

arr.length = 6//指定数组的长度为6

2)、constructor(ES6中的一个语法糖)

console.log(arr.constructor);

返回构造函数的引用

方法:

arr[arr.length] = '111';//将111这个添加到数组的末尾,通过属性的方式

arr.push('aaa');//将aaa这个push到数组的末尾,通过方法,会改变原数组,返回值是数组追加完的长度

arr.unshift('a','b');//将a和b添加到数组的开始,会改变原数组,返回值是数组追加完的长度

arr.shift();//删除数组的第一个元素,返回值为被删除的元素

arr.pop();//删除数组的最后一个元素,返回值为被删除的元素

万能的添加数组的方法(可以实现增删改)

arr.splice(index,num,val1,val2,...)//返回值是一个数组

index代表从哪个开始,num表示删除几个,以后的就是要添加的元素

以上五个方法都会影响原数组,shift和pop都会返回被删除的元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值