js中数组常用方法总结
操作数组
印象中数组有很多方法,系统的整理一下,放在自己家里方便回头查~
Array.map()
此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组1234letarr = [1, 2, 3, 4, 5]letnewArr = arr.map(x => x*2)//arr= [1, 2, 3, 4, 5] 原数组保持不变//newArr = [2, 4, 6, 8, 10] 返回新数组Array.forEach()
此方法是将数组中的每个元素执行传进提供的函数,没有返回值,直接改变原数组,注意和map方法区分123letarr = [1, 2, 3, 4, 5]num.forEach(x => x*2)// arr = [2, 4, 6, 8, 10] 数组改变,注意和map区分Array.filter()
此方法是将所有元素进行判断,将满足条件的元素作为一个新的数组返回1234letarr = [1, 2, 3, 4, 5]const isBigEnough => value => value >= 3letnewArr = arr.filter(isBigEnough )//newNum = [3, 4, 5] 满足条件的元素返回为一个新的数组Array.every()
此方法是将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false:12345letarr = [1, 2, 3, 4, 5]const isLessThan4 => value => value < 4const isLessThan6 => value => value < 6arr.every(isLessThan4 )//falsearr.every(isLessThan6 )//trueArray.some()
此方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true,若所有元素都不满足判断条件,则返回false:12345letarr= [1, 2, 3, 4, 5]const isLessThan4 => value => value < 4const isLessThan6 => value => value > 6arr.some(isLessThan4 )//truearr.some(isLessThan6 )//falseArray.reduce()
此方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型:12345letarr = [1, 2, 3, 4, 5]const add = (a, b) => a + bletsum = arr.reduce(add)//sum = 15 相当于累加的效果与之相对应的还有一个 Array.reduceRight() 方法,区别是这个是从右向左操作的Array.push()
此方法是在数组的后面添加新加元素,此方法改变了数组的长度:
Array.pop()
此方法在数组后面删除最后一个元素,并返回数组,此方法改变了数组的长度:1234letarr = [1, 2, 3, 4, 5]arr.pop()console.log(arr)//[1, 2, 3, 4]console.log(arr.length)//4Array.shift()
此方法在数组后面删除第一个元素,并返回数组,此方法改变了数组的长度:1234letarr = [1, 2, 3, 4, 5]arr.shift()console.log(arr)//[2, 3, 4, 5]console.log(arr.length)//4Array.unshift()
此方法是将一个或多个元素添加到数组的开头,并返回新数组的长度:1234letarr = [1, 2, 3, 4, 5]arr.unshift(6, 7)console.log(arr)//[6, 7, 2, 3, 4, 5]console.log(arr.length)//7Array.isArray()
判断一个对象是不是数组,返回的是布尔值
Array.concat()
此方法是一个可以将多个数组拼接成一个数组:1234letarr1 = [1, 2, 3]arr2 = [4, 5]letarr = arr1.concat(arr2)console.log(arr)//[1, 2, 3, 4, 5]Array.toString()
此方法将数组转化为字符串:123letarr = [1, 2, 3, 4, 5];letstr = arr.toString()console.log(str)// 1,2,3,4,5Array.join()
此方法也是将数组转化为字符串:1234567letarr = [1, 2, 3, 4, 5];letstr1 = arr.toString()letstr2 = arr.toString(',')letstr3 = arr.toString('##')console.log(str1)// 12345console.log(str2)// 1,2,3,4,5console.log(str3)// 1##2##3##4##5通过例子可以看出和toString的区别,可以设置元素之间的间隔~
15.Array.splice(开始位置, 删除的个数,元素)
万能方法,可以实现增删改:
|
1
2
3
4
5
6
7
|
let arr = [1, 2, 3, 4, 5]; let arr1 = arr.splice(2, 0 'haha') let arr2 = arr.splice(2, 3) let arr1 = arr.splice(2, 1 'haha') console.log(arr1) //[1, 2, 'haha', 3, 4, 5]新增一个元素 console.log(arr2) //[1, 2] 删除三个元素 console.log(arr3) //[1, 2, 'haha', 4, 5] 替换一个元素 |
原网址:https://www.cnblogs.com/jinzhou/p/9072614.html
js中数组常用方法总结的更多相关文章
- js中数组常用方法
1.Array.push() 此方法是在数组的后面添加新加元素,此方法改变了数组的长度: var aa=[1,2,3]; var bb=aa.push(4,5); console.log(bb) ...
- js中数组去重的几种方法
js中数组去重的几种方法 1.遍历数组,一一比较,比较到相同的就删除后面的 function unique(arr){ ...
- javascript中数组常用方法总结
原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString ...
- JavaScript -- 时光流逝(二):js中数组的方法
JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...
- php和js中数组的总结
php中数组的表示方法:array()或者[] js中数组的表示方法:new array()或者[] 一.php中初始化命名数组 在PHP中声明数组的方式主要有两种:一是应用array()函数声明 ...
- JS中数组的介绍
一.数组: 一组数据的集合: 二.JS中数组的特点: 1.数组定义时无需指定数据类型: 2.数组定义时可以无需指定数组长度: 3.数组可以存储任何类型的数据: 4.一般是相同的数据类型: 三.数组的创 ...
- js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join
js中数组增删查改unshift.push.pop.shift.slice.indexOf.concat.join
- js中数组如何使用
js中数组如何使用 一.总结 一句话总结:new Array()和[]两种方法都可以创建数组. 二.js中创建数组,并往数组里添加元素 数组的创建 var arrayObj = new Array() ...
- js中数组方法大全
js数组方法大全 一:前言 我们在学到js中数组的时候,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会 ...
随机推荐
- asp.netmvc部署到linux(centos)
介绍将asp.netmvc项目部署到centos系统. 开发工具:win10+vs2017+.NetFramework4.6.1+Vmware14+centos 1.安装Jexus 这里使用独立版(专 ...
- 面试北京XX数通总结
软件架构师何志丹 1 总括 1.1 面试时间 2019年1月21号. 1.2 公司概况 员工近20人,其中开发人员6人,全部objectarx(C++),全部老 ...
- 一个通过GINA拦截 盗窃登陆口令的病毒分析
病毒行为: 1\将资源中的DLL释放到当前目录下 2\设置注册表,将GINA DLL设置为上一步中释放的DLL DLL行为: 1\在DLL被进程装载时, 装载正常的msgina.dll, 并保存句柄, ...
- java编写ID3决策树
说明:每个样本都会装入Data样本对象,决策树生成算法接收的是一个Array<Data>样本列表,所以构建测试数据时也要符合格式,最后生成的决策树是树的根节点,通过里面提供的showTre ...
- 蓝图Blueprint
---恢复内容开始--- 蓝图: flask模块化处理操作和URL的方式 作用: 将不同的功能模块化,实现模块化应用 构建大型应用 优化项目结构 使用步骤 创建蓝图对象 对蓝图对象进行操作(注册路由; ...
- ceph版本号
概述 第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 月.多年来,版本号方案一直没变,直到 2015 年 4 月 0.94.1 ( Hammer 的第一个修正版)发布后,为了避免 0. ...
- Oracle 使用序列实现自增列 及重置序列
序列是oracle用来生产一组等间隔的数值.序列是递增,而且连续的.oracle主键没有自增类型,所以一般使用序列产生的值作为某张表的主键,实现主键自增.序列的编号不是在插入记录的时候自动生成的,必须 ...
- R语言RODBC数据库操作
最近准备做一个股票的数据库,用R语言来获取数据,然后存在SQL Sever 2016 express 里面,虽然前面接触过一些操作,但是还是很不熟悉,现在数据已经能获取到了,是时候好好学习一下怎么用R ...
- springboot使用redisTemplate遇到的问题
概述 最近工作中新构建了一个项目,用的springboot,由于项目中要使用各种各样的缓存,就使用了spring-data-redis,这个东西比我想象中要难使用的多啊,而且我还遇到个问题,就是在用R ...
- 转载: http状态码
消息 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在 ...