聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

js笔记五:数组基础篇

2017-03-08 14:50 浏览: 2126055 次 我要评论(0 条) 字号:

Array 类型恐怕是 ECMAScript 中最常用的类型了。而且,ECMAScript 中的数组与其他多数语<言中的数组有着相当大的区别。
虽然 ECMAScript 数组与其他语言中的数组都是数据的有序列表,但与其他语言不同的是,ECMAScript 数组的每一项可以保存
任何类型的数据。也就是说,可以用数组的第一个位置来保存字符串,用第二位置来保存数值,用第三个位置来保存对象,以此
类推。而且,ECMAScript 数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据。算是万能的容器.

JS中的数组还有很多功能,这篇先讲讲基础

创建数组

用new方法

下面是一组用new Array创建数组,实际上,也可以不用new,直接使用Array也是一样的

1: let a = new Array(); //这里创建了一个没有元素的空数组 
2: let a = new Array(10); //这里创建了元素个数为20的数组
3: let a = new Array(1,2,3,"aaaa"); //这里创建指定数组元素的数组
//等同于
1: let a = Array(); //这里创建了一个没有元素的空数组
2: let a = Array(10); //这里创建了元素个数为20的数组
3: let a = Array(1,2,3,"aaaa"); //这里创建指定数组元素的数组
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

用[]

下面是一组用[]创建数组的办法,多数用这种方法比较简洁

4:let a = []; //创建一个空数组 
5:let a=[1,2,3,"aaa"];//指定元素列表的创建数组
6:let a = [1,,2];//指定元素列表,但是会跳过若干元素创建数组 //跳过的部分为#ff0000
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

length属性

对于数组的长度,用属性length可以获得


可以通过设置该值,来改变数组的大小 
也可以能过下标设置,如

let a = [1,2,3]; 
a[10]=99;
console.log(a);
//结果为[ 1, 2, 3, , , , , , , , 99 ],也就是在没有的位置插入了undefined
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

[下标]访问

用[下标]的方式,可以访问数组的元素 
例:

let a=[3,2,1]; 
for(let i = 0; i < a.length; i++){
console.log(a[i]);
}
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

如果对数组越办访问,得到的将是undefined,

数组遍历方法:

//方法一 
let a = [1,2,3,4,5];
for(let i in a){
console.log(a[i]);
}
//方法二
for(let e of a){
console.log(e);
}
//方法三
for(let i = 0; i < a.length; i++) {
console.log(a[i]);
}
//方法四
a.forEach((e)=>{
console.log(e);
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

四个执行结果是一样的.

判断是否为数组

let a = [1,2,3,45]; 
let b = 1129;
console.log(Array.isArray(a),Array.isArray(b));
//显示为true false
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

将数组变成字符串

数组的toString,toLocaleString会生成以逗号分隔的元素列表的字符串toString会调用每个元素的toString 而toLocalString则会调用每个元素的toLocalSetring方法. 
join方法,则会以toString生成字符串,但是分隔符是参数中指定的,而不是默认的逗号

let a=[1,2,3]; 
let b = a.join("A");
//结果b="1A2A3";
let c = a.toString();
//c='1,2,3'
let d = a.toLocaleString();//d='1,2,3'
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

基础篇先到这里



冬瓜 2017-03-03 14:24 发表评论


网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复