数组 - 介绍

  • 作者:KK

  • 发表日期:2016.2.19


初步了解

通俗地说,数组是一种数据类型,先试用一下:

var a = new Array(); //创建一个数组,通俗地说就是"一个组",这是一个空数组
alert('创建后a数组的元素个数是:' + a.length); //作为一个组,组里面是有 元素 这种东西的,至于有多少个,就通过`length`属性来获取

var b = new Array('小明', '小红'); //再创建一个数组,传递2个参数进去,这2个参数就是元素,甚至可以传3个,4个...无限个,要多少元素都可以
alert('b数组的元素个数是:' + b.length); //2

alert('b数组第1个元素是:' + b[0]); //通过在变量名后面输入方括号来访问元素,方括号里面写一个数字,从0开始数,第1个元素就是0
alert('b数组第2个元素是:' + b[1]); //那么,第2个元素就是1

console.log(b); //可以通过控制台对象查看数组内容

我刚接触编程的时候看上去都会觉得奇怪,但第2个元素怎么不用数字2访问呢,反正计算机里就是这么样的啦,慢慢你就习惯了,具体原因,你以后会看到我的文章讲解的,如果没有其它语言的编程基础,学到这里你就算去百度查也怕不容易理解其中的道理

其实在JS里数组的变量类型是object(对象),但你可以不必关注这些,反正它的作用就是储存一系列相似的东西,比如上面代码,要保存几个同学的名字,就用数组

而访问数组的元素时在方括号里面填写的数字叫做下标或者索引,更多人称为下标,下标0代表第1个元素,下标1代表第2个这样,以此类推


符号创建方式

数组的创建不一定要new Array(),而是用[]这对方括号取代,将上面的代码前2行换成下面这样也可以:

var a = []; //与new Array()等效
alert('创建后a数组的元素个数是:' + a.length);

var b = ['小明', '小红']; //在方括号里面包两个字符串(用逗号隔开),表示数组中存放2个元素
alert('b数组的元素个数是:' + b.length);

用方括号创建数组是比较常见的做法,简而言之就是懒打字嘛


增加元素

上面的代码中,在创建数组时就可以设置元素,但是其实创建后都可以继续添加元素的

var nameList = [];
alert('创建后的元素个数是:' + nameList.length + ' ,第1个元素的值是' + nameList[0] + ' 呵呵,未定义~所以没有第1个元素,没元素!');

nameList.push('小明'); //将'小明'这个字符串添加到组里面,这样就会多1个元素
alert('添加"小明"后元素个数是:' + nameList.length + ' ,第1个元素的值是' + nameList[0]);

nameList.push('小红'); //继续添加字元素
alert('添加"小红"后元素个数是:' + nameList.length + ' ,第2个元素的值是' + nameList[1]);

console.log('追加两个元素后', nameList);

nameList.unshift('小芳'); //push是在数组最后添加元素,unshift是在数组前面插入元素
console.log('在前面插入元素后', nameList); //于是可以看到"小芳"的名字会在最前面

删除元素

var nameList = ['小明', '小红', '小东', '小芳', '小你'];
console.log('长度是', nameList.length);

nameList.pop(); //pop方法将最后一个元素删除,就是"小你"
console.log('删除最后一个元素后,数组内容是', nameList);
console.log('长度是', nameList.length);

nameList.shift(); //shift方法将最前一个元素删除,就是"小明"
console.log('删除最前一个元素后,数组内容是', nameList); //于是剩下 小红,小东,小芳
console.log('长度是', nameList.length);

连接元素

用join方法可以将数组的元素全部串连成一个字符串

var nameList = ['小明', '小红', '小东', '小芳', '小你'];
var namesString = nameList.join();
alert(namesString); //结果是  小明,小红,小东,小芳,小你   每个元素之间用逗号连接起来了
alert(typeof(namesString));

alert(nameList.join('||'));	//如果传1个字符串参数进去,这个字符串就是你自定义的元素分隔符,不传就是默认逗号的

数组还有很多知识点,我们先学这些基础吧