闲来无事,随手总结一下javascript的数组API(上) | 青训营笔记

65 阅读2分钟

小弟最近看很多面试题,看了很多数组相关的方法,闲来无事,来自己总结一波。

首先,便是我们的创建数组。

常见创建数组如下:

//创建数组
let a = [];

let a = Array();

let a = new Array(3);//length == 3

let a = Array(3,1,8)//[3,1,8]

很简单吧,接下来,介绍数组的相关API

一.Array.of()

这个方法返回由所有参数值组成的数组。其目的是为了解决上述构造器因参数个数不同,而导致的创建行为有差异的问题:

//如:
    let a = new Array(3);
    let a = Array(3,1,8) 
    //一个创建长度为3的空数组,一个创建318

接下来是Array.of()的例子

let a = Array.of(3, 11, 8); // [3,11,8]
let a = Array.of(3); // [3]

二.Array.from()

将两类对象转为真正的数组,接下来是例子:

    //对象拥有length属性
    let obj = {0: 'a', 1: 'b', 2:'c', length: 3};
    let arr = Array.from(obj); // ['a','b','c'];
    //部署了 Iterator接口的数据结构 比如:字符串、Set、NodeList对象
    let arr = Array.from('hello'); // ['h','e','l','l','o']
    let arr = Array.from(new Set(['a','b'])); // ['a','b']
    let arr = Array.from(...argument);

三.Array.splice() 添加/删除数组元素(注意:该方法会改变原数组)

这个方法比较有意思,用法很多,接下来小弟一一总结

首先,这个方法接收三个参数:1.start(起点) 3.length(长度),...items(删除后添加的项目,可以是多个,可选)

删除元素:

let arr = [1,2,3];
    arr.splice(1,1);//[1,3]

添加元素:

let arr = [1,2,3];
    arr.splice(1,0,4);//[1,4,2,3]

清空数组

let arr = [1,2,3];
    arr.splice(0);//[]

暂时就想到这么多

四.Array.sort()

可以对数组的元素从小到大或者从大到小排序

该方法接收一个函数,接下来给例子:

let arr = [1,2,3];
    arr.sort((a,b)=>b-a);//[3,2,1]

返回值为a-b的时候升序,b-a的时候降序,有兴趣的可以去参考相关文章。

今日先写到这里,改日再总结别的api