js中几种常用的数组处理方法的总结
一、filter()用法
- 功能:用于筛选数组中满足条件的元素,返回一个筛选后的新数组。
- <script>
- $(function(){
- var arr = [1,-2,3,4,-5];
- var minus = arr.filter(function(item,index,array){
- return item < 0;
- });
- console.log(minus); // [-2, -5]
- })
- </script>
二、map()用法
功能:用于遍历数组,返回处理之后的新数组,可以看到,该方法与forEach()的功能类似,只不过map()具有返回值,会返回一个新的数组,这样处理数组后也不会影响到原有数组
- <script>
- $(function(){
- var arr=[1,-2,3,4,-5];
- var newArr = arr.map(function(item,index,array){
- return item * 2;
- });
- console.log(newArr); // [2,-4,6,8,-10]
- })
- </script>
三、some()用法
功能:用于判断数组中的是否存在满足条件的元素,返回一个布尔值
- <script>
- $(function(){
- var arr = [1,-2,3,4,-5];
- var isSome = arr.some(function(item,index,array){
- return item < 0;
- });
- console.log(isSome); // true
- })
- </script>
四、reduce()用法
- <script>
- $(function(){
- /*
- * 语法:
- * arr.reduce(function(prev,cur,index,arr){
- * ...
- * }, init);
- * 延伸:
- * reduceRight():该方法用法与reduce()其实是相同的,只是遍历的顺序相反,
- * 它是从数组的最后一项开始,向前遍历到第一项。
- * */
- //先声明一个数组
- var arr = [3,9,4,3,6,2,9];
- //用法一:求数组元素之和
- var sum = arr.reduce(function (prev, cur) {
- return prev + cur;
- },0);
- console.log("数组之和是====="+sum);
- //用法二:求数组元素之积
- var mul = arr.reduce(function (prev, cur) {
- return prev * cur;
- },1);
- console.log("数组之积是====="+mul);
- //求数组项最大值
- var max=arr.reduce(function(prev,cur){
- // return prev<cur?cur:prev;
- return Math.max(prev,cur);
- },0);
- console.log("数组最大值是====="+max);
- //数组去重
- var newArr=arr.reduce(function(prev,cur){
- prev.indexOf(cur) === -1 && prev.push(cur);
- return prev;
- },[]);
- console.log("数组去重之后的结果是"+newArr);
- })
- </script>
五、forEach()用法
功能:用于遍历数组,无返回值
- <script>
- $(function(){
- //先给出一个数组
- var arr = [1,-2,3,4,-5];
- //用法一:将数组中的每一项翻倍
- arr.forEach(function(item,index,array){
- array[index] = item * 2;
- });
- console.log(arr); // [2,-4,6,8,-10]
- //array[index]是全等于item的
- arr.forEach(function(item,index,array){
- console.log(array[index] === item); // true
- });
- })
- </script>
六、every()用法
功能:用于判断数组中的每一项元素是否都满足条件,返回一个布尔值
- <script>
- $(function(){
- var arr = [1,-2,3,4,-5];
- var isEvery = arr.every(function(item,index,array){
- return item > 0;
- });
- console.log(isEvery); // false
- })
- </script>
js中几种常用的数组处理方法的总结的更多相关文章
- JS中几种常见的数组算法(前端面试必看)
JS中几种常见的数组算法 1.将稀疏数组变成不稀疏数组 /** * 稀疏数组 变为 不稀疏数组 * @params array arr 稀疏数组 * @return array 不稀疏的数组 */ f ...
- [转]js中几种实用的跨域方法原理详解
转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 // // 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同 ...
- js中几种实用的跨域方法原理详解(转)
今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开 ...
- js中几种实用的跨域方法原理详解
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- js中几种实用的跨域方法原理详解【转】
源地址:http://www.cnblogs.com/2050/p/3191744.html 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通 ...
- 【转】js中几种实用的跨域方法原理详解
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- js中几种常用的输出方式
1.alert("要输出的内容"); ->在浏览器中弹出一个对话框,然后把要输出的内容展示出来 ->alert都是把要输出的内容首先转换为字符串然后在输出的 2.doc ...
- js中Math对象常用的属性和方法
1 Math对象 1.1定义:Math是js的一个内置对象,它提供了一些数学方法. 1.2特性:不能用构造函数的方式创建,无法初始化,只有静态属性和方法 1.3静态属性 1.3.1 Math.PI 圆 ...
- 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝
第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...
随机推荐
- Vue全家桶之一Vue(基础知识篇)
全家桶:Vue本身.状态管理.路由. 异步组件:
- 02 安装net-tools工具
01 登录虚拟机,没错,还是那个熟悉的黑窗口 02 输入用户名密码(我还是习惯使用root用户,因为,它可以为所欲为) 小知识:注意红色框内的符号: 一般用户为限制用户,符号为:$ 超级用户,为无限制 ...
- 题解 SP687 【REPEATS - Repeats】
考虑可以枚举字符串上的两个点,求出两个点所对应后缀的\(LCP\)和所对应前缀的\(LCS\),两点之间的距离为\(len\),则这两个点对答案的贡献为: \[ \frac{LCS+LCP+L-1}{ ...
- select、poll和epoll之间的区别
在深入理解select.poll和epoll之间的区别之前,首先要了解什么是IO多路复用模型. IO多路复用 简单来说,IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备就绪,它就通知该进 ...
- xenomai内核解析---内核对象注册表—xnregistry(重要组件)
1. 概述 上篇文章xenomai内核解析--同步互斥机制(一)--优先级倒置讲到,对于所有内核对象: xnregistry:保存内核对象,提供内核对象存储和快速检索. xnsynch:资源抽象,提供 ...
- Windows下使用图形化mount挂载磁盘到文件夹
Windows上也有类似于Linux上的mount命令,至于mount是什么: mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要 ...
- MySQL数据库常见命令
数据库的操作 MySQL服务器的常见命令 开启:sudo service mysql start关闭:sudo service mysql stop重启:sudo service mysql rest ...
- 6.28 NOI模拟赛 好题 状压dp 随机化
算是一道比较新颖的题目 尽管好像是两年前的省选模拟赛题目.. 对于20%的分数 可以进行爆搜,对于另外20%的数据 因为k很小所以考虑上状压dp. 观察最后答案是一个连通块 从而可以发现这个连通块必然 ...
- 4.26 ABC F I hate Matrix Construction 二进制拆位 构造 最大匹配
LINK:I hate Matrix Construction 心情如题目名称. 主要说明一下构造的正确性. 准确来说这道题困扰我很久. 容易发现可以拆位构造. 这样题目中的条件也比较容易使用. 最后 ...
- Dynamics 2016 启用Bing Maps
http://www.krpano360.com/图文详解申请必应地图api密钥 https://crmbook.powerobjects.com/system-administration/inte ...