ES6数组的高阶方法,箭头函数,对象[通俗易懂]

ES6数组的高阶方法,箭头函数,对象[通俗易懂]一.数组的高阶方法forEach(遍历)vararr=[‘我’,’和’,’我的’,’祖国’];arr.forEach(function(item,index,self){ console.log(item,index,self);})map(映射)vararr=[12,34,56];vararr2=arr.map(function(item,index,self){ console.log(item,index,self); returnitem*2;})

大家好,又见面了,我是你们的朋友全栈君。

一.数组的高阶方法

forEach(遍历)

 var arr = ['我','和','我的','祖国'];
 arr.forEach(function(item,index,self){ 
   
 	console.log(item,index,self);
 })

map(映射)

var arr = [12,34,56];
var arr2 = arr.map(function(item,index,self){ 
   
	console.log(item,index,self);
	return item*2;
})
console.log(arr2)

filter(过滤)

var arr1 = [12,45,32,75,49,61];
var arr2 = arr1.filter(function(item){ 
   
	return item>20;
})
console.log(arr2)

reduce(累加)

var arr = [13,32,67,98,11,23,65,1,2,3,9];
var ret = arr.reduce(function(a,b){ 
   
	return a+b;   累加
})
console.log(ret)

every(每一个)

var arr = [13,32,67,98,11,23,65,1,2,3,9];
var ret = arr.every(function(item){ 
   
	return item>12;
})
console.log(ret)

some(有一个)

var arr = [13,32,67,98,11,23,65,1,2,3,9];
var ret = arr.some(function(item){ 
   
	return item > 12;
})
console.log(ret)

二.数组新增方法

fill()填充

填充 fill(“填充内容”,start,end)。

copywithin()拷贝

从数组拷贝替换元素copywithin(替换开始位置,拷贝开始位置,拷贝结束位)

find()与findIndex()查找

按 条件查找 find 查找元素 findIndex查找下标

sort()排序

var arr = [1,5,11,27,4568];
arr.sort(function(a,b){ 
   return a-b});
console.log(arr);
			
var arr1 = [{ 
   age:10},{ 
   age:7},{ 
   age:14}];
arr1.sort(function(a,b){ 
   return a.age>b.age});
console.log(arr1);

三.箭头函数

箭头函数就是函数简写方式

  1. 组成: 参数 => 语句,
  2. 参数不是1个: (参数,参数2)=>语句
  3. 语句不止一条: 参数 =>{语句1;语句2;return 返回值}
  4. 返回的对象格式: 参数=>({对象})
普通函数
 var arr = ['我','和','我的','祖国'];
 arr.forEach(function(item,index,self){ 
   
 	console.log(item,index,self);
 })

转换为箭头函数
var arr = ['我','和','我的','祖国'];
arr.forEach(item => console.log(item))

四.函数的三种参数

1.函数的默认参数

function add(a,b=10){ 
   
	alert(a+b);
}
add(3,5);
add(3)

2.函数的不定参数

function add(...args){ 
   
	var ret  = args.reduce((a,b)=>a+b)
	alert(ret)
}
add(1,2,3,4,5);

3.函数的扩展实参

function metting(a,b,c){ 
   
	console.log('今天开会的有:',a,b,c);
}
var arr = ['天线宝宝','海绵宝宝','花园宝宝'];
metting(...arr);

五.对象

对象的简写

var name = '毛毛';
var age = 18;
var user = { 
   
	name,
	age,
	say(){ 
   
		alert(`大家好,我的名字是${ 
     this.name},今年${ 
     this.age}`)
	}
};
console.log(user)

对象的继承

__proto__对象的继承

var man={ 
   
	leg:2,
	walk(){ 
   console.log(`我用我的两条腿步行`)}
}	 
var student = { 
   
	name:"毛毛",
	age:18,
	__proto__:man
}		 
var key = window.prompt("请输入对象名称","like");
var value = window.prompt("请输入对象值","好好学习");
var obj = { 
   [key+"web"]:value};
console.log(obj);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131260.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • oracle declare多个变量_赋值

    oracle declare多个变量_赋值方法1:declare@aint=4declare@bvarchar(100)=’testsql’方法2:declare@aint,@bvarchar(100)set@a=4set@b=’sqltest’方法3:declare@aint=t,@bvarchar(100)=’sqltest’个人感觉方法3好用,减少冗余~~~…

  • SpringApplication.run(MyApplication.class, args)运行流程源码分析[通俗易懂]

    SpringApplication.run(MyApplication.class, args)运行流程源码分析[通俗易懂]SpringApplication.run(MyApplication.class,args);如何启动springBoot项目的run()一个静态的辅助方法,可以使用默认设置和用户提供的参数从指定源运行SpringApplicationConfigurableApplicationContext大多数应用程序上下文(如果不是全部的话)将实现SPI(服务提供者)接口。除了Applicat…

  • ExtJs自学教程(1):一切从API開始

    ExtJs自学教程(1):一切从API開始

  • 禁止百度爬虫_百度爬虫抓取规则

    禁止百度爬虫_百度爬虫抓取规则在百度C2C产品“百度有啊”即将上线的时候,淘宝网站曾经屏蔽百度搜索爬虫,禁止百度搜索引擎抓取淘宝网站的网页内容,淘宝官方的解释是“杜绝不良商家欺诈”。在技术层面,淘宝屏蔽百度的方法是,在网站的robots.txt文件中加上如下内容:User-agent:BaiduspiderDisallow:/但实际上这种方法并不能完全屏蔽百度的爬虫,至今在百度上输入si

    2022年10月25日
  • double转BigDecimal精度丢失的解决方案。

    double转BigDecimal精度丢失的解决方案。因为double有精度丢失的问题,所以关于小数点的计算通常使用BigDecimal来计算。但直接调用BigDecimal的构造函数,会出现精度丢失问题。publicBigDecimal(doubleval){this(val,MathContext.UNLIMITED);}例子:publicclassDemo1{publicstaticvoidmain(String[]args){//输出结果:4.7999999999999998223

  • Spring AOP中的JDK和CGLib动态代理哪个效率更高?

    Spring AOP中的JDK和CGLib动态代理哪个效率更高?一、背景今天有小伙伴面试的时候被问到:SpringAOP中JDK和CGLib动态代理哪个效率更高?二、基本概念首先,我们知道SpringAOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。自Java1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了Spring的很多地方。JDK动态代理主要涉及…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号