JS数组

在JavaScript中,除了对象(Object)外,数组(Array)类型应该是最常用的数据类型了。数组是数据的有序列表,在JavaScript中,数组中的每一项可以保存任何类型的数据,也就是说可以用数组的第一项保存字符串,第二项保存数值,第三项保存对象等,同时,JavaScript中数组的长度是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据。

创建数组的基本方式有两种。第一种是使用JavaScript中Array构造函数,示例如下:

var fruits = new Array();

如果预先知道数组要保存的项目数量,也可以给构造函数传递该参数,例如,下面的代码将创建一个长度为10的数组:

var fruits = new Array(10);

创建数组的第二种方式是使用数组字面量表示法。数组字面量也就是说我们直接把数组中的每一个数据项都列出来,包含在一对中括号之间,不同的数据项以逗号隔开,如下所示:

var fruits = ['apple', 'pear', 'peach']; // 创建了一个包含三个字符串的数组
var names = []; // 创建了一个空数组
var values = [1, 2, ,]; // 不要这样做!这样会创建一个包含2项或4项的数组

在我们要对数组进行读取操作时,我们可以使用中括号并提供相应的基于0的数字索引,如下所示:

var fruits = ['apple', 'pear', 'peach'];
console.log(fruits[0]); // 显示第一项 - 'apple'
fruits[1] = 'grape'; // 修改第二项
console.log(fruits[1]); // 显示第二项 - 'grape'
fruits[3] = 'banana'; // 新增第四项
console.log(fruits[3]); // 显示第四项 - 'banana'

方括号中的索引表示要访问的值。如果索引小于数组中的项数,就返回对应项的值,就像上例中fruits[0]会返回'apple'一样。设置数组中某一项的值也是使用的相同的语法,但会替换指定位置的值。如果设置某个值的索引超过了该数组现有的长度,如上述例子中的fruits[3]所示,数组就会自动增加到该索引值加1的长度(就上例而言,索引是3,因此该数组的长度就是4)。

数组的项数保存在该数组的length属性中,这个属性始终会返回0或者更大的值,如下例所示:

var fruits = ['apple', 'pear', 'peach'];
console.log(fruits.length); // 3
var colors = [];
console.log(colors.length); // 0

数组中的length属性很有特点,它不是只读的。因此,我们还可以通过设置这个属性,从数组的末尾移除数据项,请看下面的例子:

var fruits = ['apple', 'pear', 'peach'];
fruits.length = 2;
console.log(fruits[2]); // undefined - 相当于删除了数组中的第三项

JavaScript中常用方法:

  • push()方法 向数组的末尾添加新的元素。示例如下:
var fruits = ['apple', 'pear', 'peach'];
fruits.push('banana');
console.log(fruits); // ['apple', 'pear', 'peach', 'banana']
  • pop()方法 从数组的末尾移除一个元素。示例如下:
var fruits = ['apple', 'pear', 'peach'];
fruits.pop();
console.log(fruits); // ['apple', 'pear']
  • unshift()方法 向数组的前面添加新的元素。示例如下:
var fruits = ['apple', 'pear', 'peach'];
fruits.unshift('banana');
console.log(fruits); // ['banana', 'apple', 'pear', 'peach']
  • shift()方法 从数组的前面移除一个元素。示例如下:
var fruits = ['apple', 'pear', 'peach'];
fruits.shift();
console.log(fruits); // ['pear', 'peach']

以上四个方法是我们在对数组进行添加,删除的基本操作。
image
  • indexOf()方法 找到某一个数据项在数组中的索引值。示例如下:
var fruits = ['apple', 'pear', 'peach'];
console.log(fruits.indexOf('pear')); // 1 

其他资料推荐

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、数组方法汇总 shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var ...
    快抓住那个胖子阅读 303评论 0 0
  • 由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaS...
    2bc5f46e925b阅读 2,040评论 0 16
  • 本文总结了数组所有的方法。 1. 检测对象是不是数组 instanceof操作符 Array.isArray()方...
    胡不归vac阅读 694评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 南方出生的我,幼时对冬天最大的渴望就是大雪,因为这个时候似乎天地间有了魔力,人从外到内都或多或少沾染了这样得魔力。...
    WEI_曹蕾阅读 122评论 0 1