当前位置: 首页 > article >正文

JavaScript中数组常用的19种方法总结

1、length
获取数组长度

var arr = [1,2,3,4,5];
arr.length;//5

2、toString()
返回由数组中每个值的字符串形式拼接成的一个以逗号分隔的字符串

var arr = [1,2,3,4,5];
arr.toString();//"1,2,3,4,5"

3、valueOf()
返回数组对象本身

var arr = [1,2,3,4,5];
arr.valueOf();//[1,2,3,4,5]

4、join()
将数组中所有元素组成字符串,并可以规定分隔符,默认以逗号分隔

var arr = [1,2,3,4,5];
arr.join("-");//"1-2-3-4-5"

5、push()
在数组的尾部插入元素,会改变原数组

var arr = [1,2,3,4,5];
arr.push(6);
console.log(arr);//[1,2,3,4,5,6]

6、pop()
在数组的尾部删除一个元素,会改变原数组

var arr = [1,2,3,4,5];
console.log(arr.pop());//5
console.log(arr);//[1,2,3,4]

7、unshift()
在数组的首部插入一个元素,会改变原数组

var arr = [1,2,3,4,5];
arr.unshift(6);
console.log(arr);//[6,1,2,3,4,5]

8、shift()
在数组的首部删除一个元素,会改变原数组

var arr = [1,2,3,4,5];
console.log(arr.shift());//1
console.log(arr);//[2,3,4,5]

9、reverse()
反转数组的顺序,返回经过排序之后的数组,原数组发生改变

var arr = [1,2,3,4,5];
console.log(arr.reverse());//[5,4,3,2,1]
console.log(arr);//[5,4,3,2,1]

10、sort()
按字符串升序排列数组,sort方法会调用每个数组项的toString()方法,比较得到字符串的排序,返回经过排序之后的数组,原数组发生改变

var arr = [1,2,6,4,5];
console.log(arr.sort());//[1,2,4,5,6]
console.log(arr);//[1,2,4,5,6]

tips:可以使用sort()方法创建一个随机数组

function compare(){return Math.random();
}
var array = [1,2,3,4,5];
console.log(array.sort(compare));//[2,1,5,4,3]

11、concat()
基于当前数组所有项创建一个副本,没有参数时相当于浅拷贝,接收参数时将参数添加到副本的末尾。不影响原数组

var arr = [1,2,3,4,5];
var res = arr.concat(6,7);
console.log(res);//[1,2,3,4,5,6,7]

12、slice()
基于当前数组创建一个新数组,接收两个参数:返回项的起始位置和结束位置。不影响原数组

var arr = [1,2,3,4,5];
var res = arr.slice(1,3);
console.log(res);//[2,3]
console.log(arr);//[1,2,3,4,5]

13、splice()
删除原数组的一部分成员,会改变原数组

//1、第一个参数指定删除的起始位置
var arr = [1,2,3,4,5];
console.log(arr.splice(3));//[4,5]
console.log(arr);//[1,2,3]//2、第二个参数表示删除元素的个数,如果省略第二个参数,则表示从起始位置到数组结尾
var arr = [1,2,3,4,5];
console.log(arr.splice(3,1));//[4]
console.log(arr);//[1,2,3,5]//3、如果后面有更多参数,表示从起始位置开始插入这些新元素
var arr = [1,2,3,4,5];
console.log(arr.splice(3,1,6,7));//[4]
console.log(arr);//[1,2,3,6,7,5]

14、indexOf(search,start)
返回以start为起始位置,首次出现search的位置,没有找到返回-1

var arr = [1,2,3,4,5];
console.log(arr.indexOf(3,3));//-1
console.log(arr.indexOf(5,3));//4

15、reduce()

  • reduce()方法需要两个参数,一是执行操作的函数,二是传递给函数的初始值(可选),reduce()会依次处理每个元素

  • 执行操作的函数接收四个参数

    • 初始变量,默认为数组的第一个元素值,第一次执行后的返回值作为函数第二次执行的初始变量
    • 当前变量
    • 当前变量对应的元素在数组中的索引(可选)
    • 原数组对象(可选)

    //求和
    var arr = [1,2,3,4,5];
    var sum = arr.reduce((prev,cur)=>{
    return prev+cur
    },0);
    console.log(sum);//15

可以利用reduce()方法实现二维数组的扁平化

var matrix = [[1,2],[3,4],[5,6]];
var arr = matrix.reduce((prev,cur)=>{return prev.concat(cur);
})
console.log(arr);//[1,2,3,4,5,6]

16、map()
map()方法对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组

var arr = [1,2,3];
var res = arr.map((item,index)=>{return item*item;
})
console.log(res);//[1,4,9]

17、forEach()
遍历数组

var arr = [1,2,3];
arr.forEach(item => {console.log(item);
})

18、filter()
用于查询符合条件的所有数组项;对数组中的每一项运行给定函数,返回true的项组成的数组

var arr = [1,2,3,4,5];
var res = arr.filter(item => {return item>3;
})
console.log(res);//[4,5]

19、数组去重

var arr = [1,2,3,4,5,4,3];
var res = Array.from(new Set(arr));
console.log(res);//[1,2,3,4,5]

推荐文章:https://www.cnblogs.com/xiaohuochai/p/5682621.html

http://www.lryc.cn/news/2415206.html

相关文章:

  • 【总结】运算放大器与比较器的区别
  • Softether详解(一)——V*N与softether概述
  • 【Linux学习】epoll详解
  • Java | interface 和 implements关键字【接口,看这篇就够了】
  • 使用Python封装获取VirusTotal扫描结果
  • PGP加密原理
  • FLV文件简介
  • HTTP网络协议讲解
  • MPI入门
  • 解决Linux系统GRUB错误:简单入门教程
  • Java基础:final、finally、finalize的区别
  • 数据库中的数据类型
  • 确定最佳聚类的算法(一)
  • HLS新手入门教程
  • gerber导出文件解析,二十几个文件都是干什么的
  • ztree使用总结
  • 虚拟运行环境管理工具Vagrant详细使用教程
  • XXXX is not translated in en (English), zh (Chinese)
  • 什么是业务? 编程语言范畴中谈到的业务是什么
  • 全球免费公共DNS解析服务器 |解决无法上网+加速+防劫持
  • 多线程之pthread_create()函数
  • 《第十五章 异常处理 - try-catch 语句》
  • 字符分割函数strtok
  • 计算机组成原理_浮点数的定义
  • 什么是阻抗?
  • Mssql手工注入
  • sda、sdb、sda1、sda2的意思
  • 详细介绍 CVS (附带 其配置与使用方法)
  • JDK的下载安装及配置(包含多个JDK)
  • Solr的源代码解析和开发技巧