Javascript 数组的创建与使用

Js中创建数组有两种方式:

一、使用Array构造函数:

①、var arr = new Array();// 创建一个空数组

②、var arr = new Array(20);// 创建一个长度为20的数组,每一项的值为undefind

③、var arr new Array("lili","daming");// 创建一个包含两个字符串的数组

二、使用数组字面量表示法

①、var arr = [];//创建一个空数组

②、var arr = [20];//创建一个只包含一项的数组,长度为1

③、var arr2 = [“lili","daming"]//创建一个包含两个字符串的数组

数组的属性:

1. length 属性:arr.length 数组的长度

数组的方法:

1、Array.isArray():用于确定传入的值是否是一个数组。Array.isArray(arr);

2、join() :将数组的每项连在一起组成一个字符串。只接受一个参数,即分隔符,默认为逗号分隔符。arr.join('-');==>lili-daming

3、push() :可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。arr.push('wangfang','xiaoming');

pop() :从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。arr.pop();

5、shift() :删除数组的第一项,并返回删除的项,该方法更改数组的长度。如果数组为空,则返回undefined。arr.shift();

unshift() :将参数添加到数组的开头,并返回数组的长度arr2.unshift('lala')==>3

小结:shift()和pop()方法正好对应,一个操作数组的开头,一个操作数组的结尾。

6、sort() :升序排列数组项,该方法会将每项值转换为字符串(调用toString()方法)进行比较再进行排序。

例子:

①、var arr3 =[“10","9","8","15"]; arr3.sort() ==>8,9,10,15

②、var arr3 =[10,9,8,15]; arr3.sort() ==>10,15,8,9

为了解决数值的排序问题:sort()方法可以接收一个比较函数作为参数。

//升序函数

function compare(value1,value2){

if(value1

return -1;

}else if(value1>value2){

return 1;

}else{

return 0;

}

}

//降序函数

function compare(value1,value2){

if(value1

return 1;

}else if(value1>value2){

return -1;

}else{

return 0;

}

}

var arr3 =[10,9,8,15]; arr3.sort() ==>8,9,10,15

7、reverse():反转数组项的顺序。arr.reverse()

8、concat() :用于合并两个或多个数组,此方法不会更改现有数组,而是创建了一个新数组。 arr1.concat(arr2); arr1.concat(arr2,arr3);

9、slice():返回原数组中 指定开始下标到结束下标的项组成新数组(前闭后开原则,不包括结束位置的项),并返回。

var str =[1,3,5,6,7,8,9];

alert(str.slice(1)); ==> 3,5,6,7,8,9

alert(str.slice(1,2)); ==> 3

10、splice():它有多种用法,可实现删除、插入和替换

删除:只需指定两个参数,要删除的第一项的位置和要删除的项数,并返回删除的数组。如果没有删除任何项,则返回一个空数组。

str2.splice(1,2) ==》3,5

str.splice(0) ==》1,3,5,6,7,8,9

str.splice(1) ==》3,5,6,7,8,9

插入:可以向指定位置插入任意数量的项,只需提供3个参数

11、indexOf():接受两个参数,要查找的项和(可选)表示查找起点位置的索引。从数组开头向后查找。

lastIndexOf():接受两个参数,要查找的项和(可选)表示查找起点位置的索引。从数组末尾向前查找。

返回要查找的项在数组中的位置,如果没找到的情况下返回-1.

12、forEach():对数组进行遍历循环,对数组中的每一项运行给定函数。这个函数没有返回值,参数为:数组的内容,对应数组索引,数组本身。

str.forEach(function(item,index,str){

alert(index+'-'+item)

});

13、map() :指‘映射’,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。str.map(function(item){...})

14、filter() :过滤功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。

15、every():判断数组中每一项是否满足条件,只有所有项都满足条件,才会返回true.

str.every(function(item){

return item

}); ==>true

16、some(): 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。

17、toString():返回一个字符串

18、Array.of(str):将字符串转换成数组

19、fill():用一个固定值填充一个数组从起始索引到终止索引内的全部元素。

20、find():返回数组中满足提供的测试函数的第一个元素的值。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180801G0XQSL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动