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中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会 ...
随机推荐
- python模块part1
一.时间模块 1.时间表示形式 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串:(1)时间戳(timestamp) :通常来说,时间戳表示的是 ...
- spring为什么推荐使用构造器注入
一.前言 项目中遇到一个问题:项目启动完成前,在A类中注入B类,并调用B类的某个方法. 那么调用B类的这个方法写在哪里呢,我选择写到构造器里,但是构造器先于Spring注入执行,那么执行构造器时, ...
- JVM CUP占用率过高排除方法,windows环境
jdk自带的jvisualvm可以看到程序CPU使用率,但是无法确定具体的线程,想要确定到具体的线程需要借用到微软的Process Explorer 具体排除方法: 一:打开资源管理器,找到cup占用 ...
- kaliLinux 安装 telnet
一.安装xinetd telnetd root@helm:~# apt-get install xinetd telnetd 二.查看服务是否启动状态 说明自启动了 如果没有需要启动xinetd,启动 ...
- jq解决a连接锚点平滑过渡
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- javascript数据加减问题
需要parseInt把获取到的html(),text()的值转换为数字型,然后进行加减乘除操作就可以了:
- mongo的runCommand与集合操作函数的关系
除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...
- 原生Ajax--XmlHttpRequest对象和jQuery.ajax()
Ajax主要就是使用 [XmlHttpRequest]对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE) 1.XmlHttpRequest对象介绍 XmlHttpRequest对象的主要 ...
- IIC时序和24C02读写字节时序
一年前刚学51单片机时,接触到了IIC时序和用IIC通信读写AT24C02的学习历程.那时刚刚大一,对数据线时钟线等概念不是很清楚,也没有分清IIC通信的底层时序和写24c02的时序为什么不同. 借着 ...
- Linux 登陆配置读取顺序
Linux用户在登陆到Linux服务器时,一些登陆的提示欢迎信息,以及特定的环境配置等等都按预先设定好的配置来生效.Linux中的这个shell环境会读取很多不同的配置文件来达成上述目的,同时还有登陆 ...