js数组用法
去面试的时候问到我一个问题,你能说出来多少种数组的方法跟用法,我当时只说出来十一个,回来以后才想起来还有很多种,现在整理一下,没有排名,想起那个写那个
1:forEach
从头遍历数组,没有返回值,有三个参数,如arr.forEach( (value,i,a) => { } );value代表了arr数组里的每一个元素,i代表元素的索引值(下标),a代表数组本身。不会改变原数组
2:map
也是遍历数组,把数组每一个元素传递给指定函数,有返回值,需要用return,返回值是数组,不会改变原数组
3:filter
这个是用到比较多的,筛选方法。筛选满足条件的元素。返回值是数组。不改变数组本身。不会改变原数组
4:some
这个方法不常用,不创建新数组,不改变原数组,只要有一个满足条件就可以,判断为true直接返回true,否则返回false。
5:every
跟some有异曲同工之妙,不创建新数组,不改变原数组,必须全部满足条件才会返回true,否则返回false,但是有一个不满足条件,直接返回false,不会继续执行。
6:find
筛选方法,只会找第一个符合条件的元素,找到之后会直接返回,不会继续执行。不会改变原数组
7:reduce
他的用法就不一样了,可以说是累加用法。reduce(function(per,next){...},0)要有两个参数,第一个参数一定要初始化。0的意思,就是初始化per。0的这个位置,如果是数值,那么最后的运算就是数值类型,也可以是[ ]。next代表数组的每一项。不会改变原数组
还有一些刚开始接触js时候学习的方法:
8:push
如arr.push(1);那么这个1就会被添加到arr数组末尾,成为数组的元素。改变原数组
9:pop
没有参数,如arr.pop();删除数组的最后一个元素,返回值是被删除的元素,改变原数组
10:unshift
跟push用法道理相同,添加元素到数组头部,成为数组的第一个元素。改变原数组
11:shift
跟pop用法道理相同,删除数组第一个元素,返回被删除的元素,改变原数组
12:concat
将两个数组连接起来合并成一个新数组,如:
let arr1=[1,2,3];let arr2=[4,5,6]; let arr=arr1.concat(arr2); arr就会变成[1,2,3,4,5,6];不改变原数组
13:splice
删除或者插入指定位置的元素,如arr.splice(index,num,element1,.....,elementX);
index表示要删除的数组下标,num表示要删除元素的个数,element1--elementX表示从index开始插入的元素,可选值。改变原数组
14:reverse
反转数组元素,如arr.reverse();arr如果是[1,2,3,4,5],使用以后就会变成[5,4,3,2,1];改变原数组
15:join
数组转字符串,参数是在每个元素中间穿插。如arr.join("-");arr为[1,2,3];使用后返回值变为1-2-3;不改变原数组
16:slice
截取数组,有两个参数,如arr.slice(2,3);3为可选值,从数组下标为2的开始截取,截取到下标为3,如果没有3,截取到最后。如果只有一个参数且为负数,那么截取是从后向前开始。不该变原数组
17:toString
由于数组是对象,所以可以用这个转字符串方法,如arr.toString();arr为[1,2,3],返回值为1,2,3,不改变原数组
18:sort
数组元素排序,参数必须是函数,函数有两个参数,a,b,有return。
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。若 a 等于 b,则返回 0。若 a 大于 b,则返回一个大于 0 的值。改变原数组
19:indexOf
查找元素并返回其下标,如果没找到返回-1,参数就是要查找的元素,不改变原数组
还有一下不属于数组的方法,但是可以用来操作数组的:
20:Math.min.apply
如Math.min.apply(null,[1,2,3]);查找数组中的最低值,返回值为1,max用法相同,查找数组中最大值。不改变原数组
目前就想到这些,如果错误,请通知我改正,谢谢观看
js数组用法的更多相关文章
- JavaScript八张思维导图—数组用法
JS基本概念 JS操作符 JS基本语句 JS数组用法 Date用法 JS字符串用法 JS编程风格 JS编程实践 不知不觉做前端已经五年多了,无论是从最初的jQuery还是现在火热的Angular,Vu ...
- JS数组的基本用法
JS数组的用法包括创建.取值赋值.添加以及根据下标(包括数值或字符)来移除元素等等,在本文中将为大家详细介绍,感兴趣的朋友可以参考下. 1.创建数组: //1.1直接创建一个数组对象 var arra ...
- js 数组 var arr=[] 的用法总结
刚接触了一个js数组,用起来很头疼,总结一下 基本格式: var arr = [[name,value],[name2,value2],[name3,value3]]; 如何给 arr 动态添加元素 ...
- JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
先看php文件,当我们获取到$arr这个数组后 foreach ($arr as $value) { $json .= json_encode($value) . ','; } echo '[' . ...
- 将php数组转js数组,js如何接收PHP数组,json的用法
首先下载下面这个文件(这是一段是别人写出来专门解析json的代码),然后引入这个文件! http://pan.baidu.com/s/1dD8qVr7 现在当我们需要用ajax与后台进行交互时,怎样将 ...
- 转→js数组遍历 千万不要使用for...in...
看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...
- Javascript模块化编程(三):require.js的用法
Javascript模块化编程(三):require.js的用法 原文地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html 作者: 阮一峰 ...
- js数组操作
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...
- js数组操作【转载】
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵 ...
随机推荐
- 如何在pyqt中实现亚克力磨砂效果的QLabel
前言 Windows10 在 UWP 应用中支持亚克力画刷,可以在部件的底部绘制亚克力效果的背景图.下面我们使用 QLabel 来模拟这个磨砂过程. 实现方法 MSDN 文档中介绍了亚克力材料的配方, ...
- poj_3190
首先把所有的牛排个序,优先按照起始时间 其次建立一个堆,重载小于号(只可以重载小于号),优先按照右端点的时间排序,大的放下面(sort的时候会放后面),堆顶是结束时间最快的 #include < ...
- stram流char[]保存,支持中文,Filestram需要先转byte[]才能使用,但是性能更好《转载》
学习流的使用时(stream类),逐步遇到新的理解,记录一下 1.FileStream流是处理byte[],默认UTF8类型 当你使用wirte方法时将非byte类型的输入内容,先将内容通过转换为字节 ...
- AT5801 [AGC043D] Merge Triplets
这种排列生成排列的题目我们一般可以考虑生成排列合法的充要条件. 首先可以发现的一点就是该生成排列的任意一个数 \(p_i\) 一定不存在连续的三个数 \(p_{i + 1}, p_{i + 2}, p ...
- asp.net core 中的各种路径
1.获取完整网址URL 方法一:先引用"using Microsoft.AspNetCore.Http.Extensions;",然后直接用"Request.GetDis ...
- 长时间不操作Navicat或Putty会断线?
问题描述 今天发现只要一直不使用Putty,发现就会"卡住",还有Navicat连接数据库也有类似问题. 问题分析 Linux或者数据库都想节省连接资源呗. 问题解决 那就隔一段时 ...
- MySQL的注释方法
MySQL的三种注释方式 #1.单行注释 -- 2.单行注释(注意中间要带有一个空格才能生效) /*3.多行注释*/
- Idea快捷键---根据自己使用情况持续更新
查看接口的实现类 -->ctrl+alt+b 查看继承关系 -->ctrl+h 快速查看上次查看代码的位置: -->ctrl+alt+方向键(注意与intel显卡快捷键的冲突,如有冲 ...
- zabbix 监控系统概述及部署
zabbix 监控系统概述及部署 1.Zabbix是什么: zabbix是一个个基于web界而的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系 ...
- 02编程语言与python介绍
编程语言分类 机器语言:直接用计算机能理解的二进制指令去编写程序,是直接在控制计算机硬件 优点:运行效率高 缺点:开发效率低 1.开发一个简单的小功能都要哟个到非常多条数的二进制指令 2.二进制指令非 ...