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 ...
随机推荐
- lua的table表去重
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 我的个人博客 方法一 用过lua的人都知道,lua的table中不允许存在相同的key,利用这个思想,我们可以将原始table ...
- 网课神器之obs-studio的安装使用
obs-studio 首先,下载obs-studio安装文件,然后点击安装. 建议安装完后直接跳过配置,然后进入文件-设置-通用-系统托盘-勾选"总是最小化到系统托盘,而不是任务栏" ...
- wordpress学习笔记
版本:4.9.8 我用wordpress的初衷是借用它的后台系统,前端用自己的网页显示存在wordpress数据库里的文章. wordpress本质上是个框架,技术栈:web-php-mysql. 初 ...
- asp.net core 3 使用nlog日志组件,使用$ {basedir}保存位置不对,记录下怎么解决
$ {basedir}指向的是 AppDomain.CurrentDomain.BaseDirectory, Asp.Net.Core的解决方法可能如下(在Program.cs中添加两行): var ...
- web自动化 -- js操作(滑动屏幕、修改页面)
一.selenium对 js 的操作方法 1.先定义 js 操作 或者 定义 目标元素 2.执行 js 操作: driver.execute_script(js操作) 或者 ...
- Spring Security 实战干货:理解AuthenticationManager
1. 前言 我们上一篇介绍了UsernamePasswordAuthenticationFilter的工作流程,留下了一个小小的伏笔,作为一个Servlet Filter应该存在一个doFilter实 ...
- jQuery中常用网页效果应用
一.常用网页效果应用 1.表单应用 表单由表单标签.表单域和表单按钮组成. 1.1单行文本框应用 例:获取和失去焦点改变样式 首先,在网页中创建一个表单,HTML代码如下 <form actio ...
- XML--概念、约束、解析
概念 XML:可扩展标记语言 HTML:超文本标记语言 两者的区别: 1.语法结构类似,单语法要求不同 HTML不区分大小写,XML严格区分大小写 在HTML中,有时不严格,如果上下文清楚地显示出段落 ...
- Python访问元组
Python访问元组: 使用索引下标进行访问元组: # 通过索引下标进行访问 tuple_1 = ('a','b','c','d','e','f','g') # 输出元组中的第一个值 print(tu ...
- PHP unixtojd() 函数
------------恢复内容开始------------ 实例 把 Unix 时间戳转换为儒略日计数: <?phpecho unixtojd();?> 运行实例 » 定义和用法 uni ...