JavaScript基础之数组的一些常用API

在js数组之中,存在着很多程序编程方法的接口,这些接口有助于我们对数组的处理。

一、数组序列化API

包含有两种方法toString() 和 join()

toString() 在默认情况下都会以逗号分隔字符串的形式返回数组项;

join() 使用指定的字符串用来分隔数组字符串。

序列化不仅分隔数组,也可以解决数组浅拷贝的问题。

var age= ["12", "13", "11", "10"];
// 数组转字符串 toString() 以逗号的形式将数组中的元素进行分隔
console.log(age.toString());//输出:[12,13,11,10]
//  join() 以自定义的符号将数组中的元素进行分隔
console.log(age.join(' '));//输出:[12 13 11 10]
console.log(age.join(','));//输出:[12,13,11,10]

二、构造函数的API

  • Array.isArray()  (判断某个变量是否是一个数组对象 )

  • Array.from()  (从类数组对象或者可迭代对象中创建一个新的数组实例。)

  • Array.of() (根据一组参数来创建新的数组实例,支持任意的参数数量和类型)

Array.from():

var arr= Array.from("ABC");
console.log(arr); //输出:["A","B","C"]

Array.of():

var arr = Array.of("A","B","C"); 
console.log(arr);  //输出: ["A","B","C"]

 三、对栈与队列的API

数组栈与队列的一些api
       API              作用     参数           返回值
Array.pop( )     删除数组最后一个元素       无所删除的最后一个数组元素
Array.shift( )  删除数组第一个元素       无返回所删的第一个数组元素
Array.unshift( )  在数组开头添加一个或多个元素

所要添加的元素值

如:arr.unshift(2)给数组开头添加一个值为2的元素

返回添加元素后的新数组
Array.push( ) 在数组末尾添加一个或多个元素所要添加的元素值(使用法同上返回添加元素后的新数组

四、排序API

  • Array.reverse( )     颠倒数组中元素的顺序;
  • Array.sort( )      对数组的元素进行排序 ;

Array.prototype.reverse()方法:

var arr = [1,2,3];
arr.reverse();
console.log(arr);  //输出:[3,2,1]

 Array.prototype.sort()方法:

此api默认排序是按照Ascall编码来对数组元素进行排序,按字母升序排序。而如果想要自定义升降序的排序顺序,则给方法的参数加入函数,在函数里编写排序顺序规则。如举以下例子:

var arr = [40,100,1,5,25,10];
arr.sort(function(a,b){
	return b-a
});
console.log(arr)  //输出:[100,40,25,10,5,1]

       当数组是按字母顺序排列升序时数字“5”是排序在数字“40”之后的,通过函数编写排序顺序后两个数字将按正常数字大小升序排列。

       升序与降序的条件:不管是a<b或a>b,当函数return a-b 时,排序结果为升序;当函数return b-a 时,排序结果便为降序。

五、操作API

  • Array.concat( ),(用于连接两个或多个数组)
  • Array.slice( )      (从已有数组中返回选定元素/提取字符串的某个部分)
  • Array.splice( )    (用于添加或删除数组中的元素)

concat()方法:

var arr1 = [1,2,3];
var arr2 = [4,5,6];
var arr3 = arr1.concat(arr2);
var arr4 = arr1.concat(arr2,arr3);
console.log(arr3);  //输出:[1,2,3,4,5,6]
console.log(arr4);  //输出:[1,2,3,4,5,6,1,2,3,4,5,6]

slice( ) 方法:

  此方法无参数,返回值为所截取元素组成的新数组。

var arr = [1,2, 3, 4, 5]; 
var citrus = arr.slice(1,3);   //输出:[2,3]

 splice( )方法:

用于添加或删除数组元素。此方法会改变原数组。

//在数组中添加新元素
var arr = [1,2,3,4]; 
arr.splice(2,0,5,6);//从数组索引位置 2 开始,不删除元素,添加两个新的元素5,6
console.log(arr);   //输出:[1,2,5,6,3,4]
// 移除数组的第三个元素,并在数组第三个位置添加新元素"5"和"6"
var arr = ["1", "2", "3", "4"];
arr.splice(2,1,"5","6");
console.log(arr);   //输出:["1","2","5","6","4"]
//从数组的第三个位置开始删除数组最后两个元素
var arr = [1,2,3,4];
arr.splice(2,2);
console.log(arr);   //输出:[1,2]

六、位置API 

  •  indexOf()
  • lastIndexOf()

两方法都是查找元素所在数组位置的方法,只是indexOf是从数组开头往后查找,而lastINdexOf是从数组的末尾往前查找。两方法使用方法一样,参数为所要查找的元素值,返回值为所查元素在数组中下标。如所查找元素没有在数组中,两方法返回值都为-1。

 拿indexOf()方法举例:

var arr = [1,2,3,4]
var a = arr.indexOf(2);
console.log(a);  //输出:1 (元素'2'位于数组下标为1的位置)

七、迭代API

  •  every()   检测数组所有元素是否都符合指定条件的元素,返回值为布尔值;
  • some()    检测数组中的元素是否存在满足指定条件的元素,返回值为布尔值;
  • filter( )    通过检查指定数组中符合条件的所有元素,所符合条件元素创建一个新的数组;
  • map()     用原始数组元素调用函数处理后的值来创建一个新数组;
  • forEach()    调用数组的每个元素,并将元素传递给回调函数;

迭代API的参数均为函数,返回值有布尔类型也有返回新数组。


总结

数组作为js其中的一个部分,其所为我们使用的频率很多,在jsd里的分量也很重,而我们在处理数组上,有很多API供我们使用,这不仅方便我们对数组的处理,也挺高了我们代码效率。数组API还有很多,以上则是我们使用频率较高的数组API。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值