字节跳动 Appuim环境搭建 ScrollView element TensorRT curl razor casting pyqt signalr postman vue教学视频 mysql转字符串 java常用的包 安卓虚拟机运行windows 数据库学习 java函数式接口 java类的继承 java开发学习 java接口怎么写 java线程死锁 java语言入门 linuxsleep linux用户管理 python教程视频 金山wps2003 php连接mssql maya2008 lol体验服转换器 战斗的召唤 存储过程写法 免费图片文字识别软件 突袭时间表 lrc软件 幽灵推 德玛上单天赋 圣武枪魂 苹果手机怎么微信双开 top命令详解 dll注入器
当前位置: 首页 > 学习教程  > 编程语言

ES5新增的数组方法

2020/8/11 20:33:25 文章标签:

forEach()

  • forEach() 方法用于调用数组的每个元素并将元素传递给回调函数。但是本身没有返回值,回调函数能够对原数组进行改变

这是标准的改变原数组的方法,这里的a也可以用数组名arr,也可以用变量a,都是一个意思.

var arr = [1,2,3,4]
arr.forEach(function(item,index,a)
	{
    	a[index] = item *10;		
	}
)

发现num与item其实是一个变量类型,所以他的变量类型定义是由位置来决定的,从左到右分别为数据,下标,数组

var arr = [1,2,3,4]
arr.forEach(function(num, index)
	{
	 	arr[index] = num * 2;
	}
);

这是一个不改变原数组,但是编辑其内容并执行的方法,强调一下forEach()函数不会有返回值,他就是个直接运行的函数,所以里面发生的一切都是不需要return的.
实际上这第三个例子才是forEach应该做的事情,因为它实在是太慢了

var arr = [1,2,3,4]
var sum = 0
arr.forEach(function(item,index,a)
	{
    	sum += item		
	}
)

map()

  • map()在功能上跟forEach()相似,它会返回一个新的数组,并且执行速度会快一点.

  1. 与forEach一样,可以自命名变量,但是顺序不能有误
  2. 返回一个新函数,所以函数最后一定要有return,并把它作为核心逻辑代码(当然也可以使用=>符号进行简化书写)
 let doubled = arr.map(function(num) {
         return num * 2;
});
console.log(doubled);
var arr = [1,2,3,4]
var ress = arr.map(function(item,index,a)
	{
	      return item + "***"
	       console.log(item)
	}
 )
console.log(ress)

甚至可以与其他属性如filter过滤属性连用,玩花样

var arr = [1,2,3,4]
var arr2 = arr.map(num => num * 2).filter(num => num > 5);
console.log(arr2)

filter()

过滤,使用方法与以上类似,用于在一定条件的下筛选数据.与map方法一样会返回一个新的数组

function fun(n){
		return n % 2 === 0
}
var res = arr.filter(fun)

some()

查数组中是否满足函数指定条件,只要有一个数据满足条件则返回true

function fun(n){
		return n % 2 === 0
}
var res = arr.some(fun)

every()

查数组中是否满足函数指定条件,必须全部满足才返回true

function fun(n){
		return n % 2 === 0
}
var res = arr.every(fun)

其实都一样的,只不过返回值不一样



本文链接: http://www.dtmao.cc/news_show_100357.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?