es5数组的新方法
1.every方法
//逻辑判断返回值为一个Boolean值
every方法就是每一个返回函数的返回值都是true的时候,才为true,否则为false
var arr=[1,2,5,88,5,555,856,444];
var checkresult=arr.every((item,index,arr)=>{
return item>10
})
console.log(checkresult)//false
形参:item index arr
item为数组中的每一个值,
index为索引值
arr为数组
2.some方法
于every方法刚好相反(就是返回值如果有一个为true的时候则为true)
var arr=[1,2,5,88,5,555,856,444];
var checkresult=arr.some((item,index,arr)=>{
console.log(item,index,arr)
return item>10
})
console.log(checkresult)//true
3.indexOfhelastIndexOf
该方法是查找数组内指定元素的下标(索引值)的方法,如果头则返回索引值 ,如果没有则返回-1
indexOf是从前往后查找,返回的索引值是第一个查找的数的索引值
lastIndexOf则是从后往前找,返回的索引值则是从后开始找的第一个匹配到的索引值
var arr=[1,2,5,88,5,555,856,444,1];
console.log(arr.indexOf(1)) //
console.log(arr.lastIndexOf(1)) //
4.forEach方法
forEach方法为遍历数组,参数为一个回调函数,回调函数有三个参数
方法和for循环的使用基本上一致
var arr=[1,2,5,88,5,555,856,444,1];
var sum=0;
arr.forEach((value,index,arr)=>{
console.log(sum)
sum+=value
})
console.log(sum)
5.map方法的使用
便利数组,回调函数。返回值在操作之后生成一个新的数组,新数组索引结构与元数组一致,元数组保持不变
var arr=[1,2,5];
console.log(arr.map((value)=>{
return value*value
}));
//返回的是一个数组[1,4,25]
//元数组不变[1,2,5]
6.filter方法
filter返回的是一个子集,用来判断是否返回,返回是true就吧当前元素加入到返回数组中,false就不添加,元数组保持不变
必须要有return值
var arr=[1,2,5,6,67,8,9];
const arr2 =arr.filter((item)=>{
return item>5
})
console.log(arr)//[1,2,5,6,67,8,9]
console.log(arr2)//[6,67,8,9]
7.reduce方法
便利数组,调用回调函数,将数组的元素合成一个值,元数组保持不变
var arr=[1,2,3,4,5,6,7,8,9]
const arr2=arr.reduce((pre,nex,index,arr)=>{
console.log(pre,nex,index)
return pre+nex
},0)
console.log(arr2)
reduce有两个参数
第一个为回调函数,第二个为x(0,1)
如果不加第二个参数,那么便利就会少一次,
第一张就是没有第二个参数的效果,第二章为有第二个参数的效果
没有第二个参数就会少一个
8.find方法
find查找的是value值,如果有的话就会返回value值
findIndex查找的是索引值,如果有的时候找的索引值,如果没有就是返回的是-1
//查找元素
var arr = [1,2,5,6,9,56]
const arre=arr.find((val,index,arr)=>{
console.log(val,index)
return val>100 })
console.log(arre)
// 只会返回一个值,返回第一个符合要求的值
// 找不到返回的是undefined
var arr3 = [1,2,5,6,9,56]
const arr4=arr.findIndex((val,index,arr)=>{
console.log(val,index)
return val>1 })
console.log(arr4)
es5数组的新方法的更多相关文章
- 数组的新方法 forEach some filter findIndex
forEach some filter findIndex这些都属于数组的新方法,都会对数组中的每一项,进行遍历,执行相关的操作: 只不过在循环的时候有些不一样 参考资料:https://wan ...
- vue学习(十四) 条件搜索框动态查询表中数据 数组的新方法
//html <div id="app"> <label> 名称搜索关键字: <input type="text" clasa=& ...
- 关于es5的一些新方法
1.数组方法(1)isArray在之前我们判断数组类型的数据都是用instanceof来判断的,es5新增了对数组的判断,即Array.isArray()(2)every和some这两个方法一般用于对 ...
- ES6中数组的新方法
数组的扩展 1.1扩展运算符 1.1.1:... 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. <body> < ...
- Vue中遍历数组的新方法
1.foreach foreach循环对不能使用return来停止循环 search(keyword){ var newList = [] this.urls.forEach(item =>{ ...
- Es5数组新增的方法及用法
1.forEachforEach是Array新方法中最基本的一个,就是遍历,循环.例如下面这个例子: [1, 2 ,3, 4].forEach(alert);等同于下面这个传统的for循环: var ...
- ES6扩展——数组的新方法(Array.from、Array.of、Array.fill、Array.includes、keys values entries 、find)
1.Array.from(objec,回调函数)将一个ArrayLike对象或者Iterable对象(类数组对象)转换成一个数组 1)该类数组对象必须具有length属性,用于指定数组的长度.如果没有 ...
- 转 JavaScript里的数组转化新方法Array.From
过去,我们使用各种各样的方法来将类似Array对象的东西(比如 arguments 和 NodeList) 转换成真的数值.比如下面这个: 将NodeList转换成数组 基本上,这些东西我们都可以使用 ...
- javaScript中 数组的新方法(reduce)
定义和用法 reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. reduce() 可以作为一个高阶函数,用于函数的 compose. 注意: redu ...
随机推荐
- 水晶报表一页变两页,server2008添加XPS虚拟打印机
水晶报表,程序开发的时候是一页,部署到服务器上后变为两页. 经过这几天研究是服务器上水晶报表的打印机设置不对 本地水晶报表的打印机设置的是 Microsoft XPS Document Writer ...
- Xcode 去掉控制台无用打印信息
1. 2.在Environment Variables增加一键值对 OS_ACTIVITY_MODE = disable 转自:https://blog.csdn.net/HelloWorld_198 ...
- MB_DOCUMENT_BADI调试(Update Debug)
Update Module函数,主要用语对话或报表中实现同步和异步更新数据库操作,需要单独调用函数实现更新数据库表,但又要求对程序的运行不产生影响(更新成功与否不影响主程序的正常执行) 几个操作,要么 ...
- Union and Intersection of two sorted lists 并集和交集
跟面试官确认是arrayList还是singly-linked list /* Union 并集:两个升序的list a, b, 返回其并集(升序排序)*/ public class UnionTw ...
- MVc Identity登陆锁定
2016-08-03 [ASP.NET Identity] OAuth Server 鎖定(Lockout)登入失敗次數太多的帳號 743 6 ASP.NET Identity 檢舉文章 2016-0 ...
- EF利用重写SaveChanges()方法实现 审计日志记录
先上一段最近项目中的代码,此代码可以放到自己项目中的dbContext中 public override Task<int> SaveChangesAsync() { List<Au ...
- tomcat用虚拟目录方式发布项目
conf/Catalina/localhost:指定项目的配置信息 1.添加:ROOT.xml 听见Context节点: <Context docBase="/usr/local/to ...
- .net如何处理高并发socket,建立高性能健壮的socket服务
看到一个问题,说如何保持5000-10000+的健壮的socket服务. 初学者肯定是会把每个连接都开一个线程来监听.这很浪费资源 通常只会(动态地)占用几个线程就能保持3000个长连接会话了.“为每 ...
- InstallShield 2015 安装 在vs2015
网上很少注册InstallShield 2015 的方法,而且很多以前版本的注册也很笼统,今天我就说说几个细节上的问题.相信大家看了会有帮助,有问题回帖,我会及时跟上, 先说说我遇到的问题 安装: ...
- ie6 PNG图片透明
_background:none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/videoTips.pn ...