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中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会 ...
随机推荐
- JS数组映射详解
现在这里占个坑位,免的忘了,需要整理一下最近的内容: 1.数组映射的使用 2.微信分享功能详解 3.jq自己封装 4.HTML的富文本应用
- My third homework
题目要求 定义一个包含有10个整数的数组a并初始化,定义一个指针变量p,p指向数组a,定义函数fun,要求在fun内部访问数组,并打印出数组中各元素的值,要求在fun函数内不要出现数字10. 代码: ...
- Road of computer tec 01
回顾自己过去将近3年的学习经历 当初报考的时候,自己是真正喜欢这个专业的么? 当初报这个专业的时候,对计算机还没有什么很明显的概念,只知道这个专业以后是要每天面对电脑的,喜欢不喜欢谈不上吧,但是还蛮感 ...
- python学习------面向对象进阶
一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object) ...
- Oracle数据库字段数据拆分成多行(REGEXP_SUBSTR函数)
做多选功能时为了简便,会在某个字段中存储多个值,保存时虽然省事,但后续的查询统计时还需要拆分数据才行,因此这时需要将字段内的值分成多行以便后续使用. 下面这个例子实现了字段内数据的拆分: --创建测试 ...
- virtualenv与virtualenvwrapper的配置
virtualenv是用来创建python虚拟环境的一个工具(python的Scripts目录下virtualev.exe文件),virtualenvwrapper是用来 便于管理virtualenv ...
- 反射Dll注入分析
(源码作者:(HarmanySecurity)Stephen Fewer) 0x01 反射Dll注入的优点 1.反射Dll注入的主要优点是它没有以主机系统的任何方式(例如LoadLibrary和L ...
- 使用turtle画故宫(伍奇,侯俊豪小组)
这个代码主要有两个部分,第一部分是画出故宫,第二部分是用random函数随机画心,故宫部分设置多个函数和循环再进行颜色填充即可完成. 此处为视频链接 from turtle import* impor ...
- [硬件黑客]钉钉智能指纹考勤机M1硬件漏洞挖掘(不定期更新)
mailto:wangkai0351@gmail.com 钉钉智能指纹考勤机M1s,支持指纹.WIFI.蓝牙.GPS四种考勤方式,并且可实时查看考勤数据,自动生成考勤报表,告别人工核算,数据云端存储不 ...
- RF新手常见问题总结
RF新手常见问题总结--(基础篇) 1. 经常有人问这个元素找不到,一般先排除这两个地方,再自己找找A:是否等待了足够的时间让元素加载 (增加sleep xx, wait Until xxx)B: ...