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中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会 ...
随机推荐
- ElasticsearchCRUD翻译系列之(一): ElasticsearchCRUD 介绍
ELASTICSEARCH CRUD .NET PROVIDER 翻译自(原文地址: https://damienbod.com/2014/09/22/elasticsearch-crud-net-p ...
- test--1
void(document.body.innerHTML.replace(/"return DeletePost\((\d+),([^"]+)\)"/g, functio ...
- mybatis-spring和spring版本搭配问题
所报错误:org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer 匹配的版本(my ...
- 微信h5支付出现“商家参数格式有误,请联系商家解决”
在浏览器进行微信h5支付时出现:
- 下载RDO OpenStack RPM
先把http://mirrors.163.com/centos/7.2.1511/cloud/x86_64/openstack-newton/目录下的rpm包整理到一个文件rpmlist.txt中,然 ...
- PAT A1020
PAT A1020 标签(空格分隔): PAT #include <cstdio> #include <queue> using namespace std; const in ...
- 第十三周翻译-《Pro SQL Server Internals, 2nd edition》
<Pro SQL Server Internals, 2nd edition> 作者:Dmitri Korotkevitch 翻译:赖慧芳 译文: 聚集索引 聚集索引指示表中数据的物理顺序 ...
- find命令配合sed命令使用
1.查找当前目录下所有以txt文件中包含123的数字都替换成5678 find ./ -name "*.txt" -exec grep "123" {} \; ...
- SPRINGMVC中的中文乱码处理
说到乱码处理,对于很多人来说是非常经常遇到的,现在来总结一下web工程中中文乱码处理的几个步骤,乱码处理大致可以分为一下几步,分别从页面到数据库: 页面传值到后台: 工程编码(最后一开始建立工程就设置 ...
- linux-docker下安装禅道全部
友情提示:按照步骤走,99%的人会安装成功,1%的人可以咨询度娘 64位电脑安装禅道,满足发送邮件功能 第一步: docker ps 查看docker中的容器是否有禅道(docker ps -a ...