ES6箭头函数(三)-应用场景

2023-11-16

直接作为事件handler

document.addEventListener('click', ev => {
    console.log(ev)
})

作为数组排序回调

var arr = [1, 9 , 2, 4, 3, 8].sort((a, b) => {
    if (a - b > 0 ) {
        return 1
    } else {
        return -1
    }
})
arr // [1, 2, 3, 4, 8, 9]

this不再善变

obj = {
    data: ['John Backus', 'John Hopcroft'],
    init: function() {
        document.onclick = ev => {
            alert(this.data) // ['John Backus', 'John Hopcroft']
        }
        // 非箭头函数
        // document.onclick = function(ev) {
        //     alert(this.data) // undefined
        // }
    }
}
obj.init()

比如你有一个有值的数组,你想去 map 遍历每一项,这时使用箭头函数非常理想:

    var arr = ['hello', 'WORLD', 'Whatever'];
    var arrNew = arr.map(function (item) {
        return item.toLowerCase();
    })
    var arrNew = arr.map(item=>item.toLowerCase())
    console.log(arrNew);   
对象集合和返回(重新封装对象)
let r = res.map(item => {
    return {
        title: item.name,
        sex: item.sex === 1? '男':item.sex === 0?'女':'保密',
        age: item.age,
        avatar: item.img
    }
})
​
省略写法
const users=res.items.map(item => ({
    url: item.html_url,      
    img: item.avatar_url,      
    name: item.login,
    })
);

promise场景

this.doSomethingAsync().then((result) => {
  this.storeResult(result);
});

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ES6箭头函数(三)-应用场景 的相关文章

  • React 开发一个移动端项目(1)

    技术栈 项目搭建 React 官方脚手架 create react app react hooks 状态管理 redux redux thunk UI 组件库 antd mobile ajax请求库 axios 路由 react route
  • 二,ES6中新增const关键字的使用方法

    之前用var声明变量 变量想怎么改就怎么改 这里const关键字也是声明变量的 不过声明的是常量 常量就是固定的一个值 不能改变 例如 const name 唐僧 name 老沙 报错 因为它要更改常量name 只在块级作用于起作用 和le
  • 浏览器缓存机制及其分类

    聚沙成塔 每天进步一点点 专栏简介 强缓存 Cache Control 和 Expires 协商缓存 ETag 和 Last Modified 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦
  • uniapp本地插件列表为空的问题

    在开发中 我遇到本地插件列表为空的问题 问题来源 当我们在打包时不想选择本地的某个插件 但是 但是删除 再去选择 你会发现 来列表为空 也不会报错 解决方案 1 我们删除造成问题后的导入原生插件 然后重新导入 我就是这样解决的 可能你改原生
  • 如何写一个随机洗牌函数

    看到了很多人写得随机洗牌函数 但是感觉写得都不是太好 自己写了一个试试 基本要求 给定一定范围的数比如最大值最小值 min max 在这个之间进行随机洗牌 首先生成一个按min到最大的max的数组a 对数组进行循环 每次随机生成一个要取的下
  • 学习笔记-前端开发架构设计

    前端开发的技术选项主要包含以下几点 下面对一些名词概念的解释做了笔记 1 分层架构 把功能相似 抽象级别相近的实现进行分层隔离 优势 松散耦合 易维护 易复用 易扩展 常见分层方式 MVC MVVM 2 模块化 解决一个复杂问题时 自顶向下
  • 手把手帮助你通过Vue+Springboot+MybatisPlus实现一个简单的登录注册页面,0基础

    创建前端vue项目 首先通过脚手架创建vue文件夹 前提 安装好node js软件 安装好后 通过node V 查看版本号 npm V查看npm版本 通过命令安装脚手架 npm install g vue cli g代表全局安装 s代表本地
  • el-table添加行/单元格样式

    文章目录 一 官方文档释义 1 row style cell style 2 row class name cell class name 二 row style cell style的使用 1 row style 使用Object 使用F
  • ES6中Null判断运算符(??)正确打开方式-

    读取对象属性的时候 如果某个属性的值是null或者undefined 有时候需要为它们指定默认值 常见的作法是通过 运算符指定默认值 const headerText response settings headerText Hello w
  • Vue3/ Vue3 生命周期 钩子函数 总结 、Vue3 内 主要 钩子函数 、Vue2 和 Vue3 生命周期钩子函数对比

    一 Vue3 生命周期 钩子函数 总结 1 介绍 Vue组件简介 Vue是组件haul编程 从一个组件诞生到消亡 会经历很多过程 这些过程就叫做生命周期 例如 生命周期就是人出生到入土是一样的 有少年时期 青年时期 中年时期 老年时期 每个
  • 前端vue可以左右滚动的切换的tabs tabs选项卡 滑动动画效果 自动宽度

    随着技术的发展 开发的复杂度也越来越高 传统开发方式将一个系统做成了整块应用 经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改 造成牵一发而动全身 通过组件化开发 可以有效实现单独开发 单独维护 而且他们之间可以
  • 多维数组变成一维数组

    这个问题来源于一个朋友曾经问过我的问题 当时是一个二维数组变成一维数组 后面我想整理一下 整理一个多维 并且是不定维的数组 一 二维数组变成一维数组 1 遍历数组 将元素一个个放入新数组 结果 如果元素不是数组 将会报错 下面是改良版 这样
  • 深入理解ES6箭头函数中的this

    简要介绍 箭头函数中的this 指向与一般function定义的函数不同 比较容易绕晕 箭头函数this的定义 箭头函数中的this是在定义函数的时候绑定 而不是在执行函数的时候绑定 1 何为定义时绑定 我们来看下面这个例子 1 var x
  • React解密:React Hooks函数之useCallback和useMemo

    之所以将useCallback和useMemo放到一起 从某种意义上说 他们都是性能优化的始作俑者 他们也有很多的共性 我们先来回顾一下class组件性能优化的点 调用 setState 就会触发组件的重新渲染 无论前后 state 是否相
  • vue项目中批量删除如何实现的

    简单回答 与单个删除的接口为同一个 然后通过数组对象的id来删除
  • React实现关键字高亮

    先看效果 实现很简单通过以下这个函数 highLight text keyword gt return text split keyword flatMap str gt span keyword span str slice 1 展示某段
  • 138-139-----JS基础-----二级菜单-完成基本功能、过渡效果

    一 代码 这两节的代码还是有点的难度的 有这样的需求时 按照类似的接口去做即可 不一定要和他的需求完全一样 因为我看他的需求好像点开另一个 已经打开的选项会被自动关闭 这样感觉不好 因为可能用户有时想要看到所有的选项的要求
  • 上拉加载原理

    实现思路 之前写过一篇触底加载 经过一番苦学钻研 优化一下 样式方面 滚动区域是给固定高度 设置 overflow y auto 来实现 接下来看看js方面的实现 其实也很简单 触发的条件是 可视高度 滚动距离 gt 实际高度 例子我会使用
  • 前端基础(三)- ES7~ES12

    为了方便记忆和称呼 ES2015之后的新知识点我们都统称ES6语法 就没必要去划分得那么细 ES7 2016 Array prototype includes includes方法可以判断一个数组是否包含某个指定的值 如果存在返回true
  • ES6 面试题 | 13.精选 ES6 面试题

    前端开发工程师 主业 技术博主 副业 已过CET6 阿珊和她的猫 CSDN个人主页 牛客高级专题作者 在牛客打造高质量专栏 前端面试必备 蓝桥云课签约作者 已在蓝桥云课上架的前后端实战课程 Vue js 和 Egg js 开发企业级健康管理

随机推荐

  • 神奇的tmux

    一 Tmux 是什么 1 1 会话与进程 命令行的典型使用方式是 打开一个终端窗口 terminal window 以下简称 窗口 在里面输入命令 用户与计算机的这种临时的交互 称为一次 会话 session 会话的一个重要特点是 窗口与其
  • STM32+4G模块实战项目(连接阿里云物联网平台+OTA升级):(一)初识硬件

    STM32 4G模块实战项目 OTA升级 构思占坑中ing 3天一章 请耐心等待 STM32 4G模块实战项目 连接阿里云物联网平台 OTA升级 一 初识硬件 STM32 4G模块实战项目 连接阿里云物联网平台 OTA升级 二 stm32通
  • @RefreshScope刷新配置文件原理

    一 前置知识 在Spring中bean的作用域 scope 常用的有两种 单例 singleton 原型 prototype Bean的Scope影响了Bean的管理方式 例如创建Scope singleton的Bean时 IOC会将这些B
  • android Http通信(访问web server)

    下面将3种实现方式 以下代码有的来源于传智播客 有的自己琢磨的 在这感谢传智播客 本人开发使用的android studio 在最新版本中 android不在支持HttpClient 所以 要使用HttpClient要加载库文件 1 com
  • 单向散列函数(Hash)

    0 Hash函数的性质 常用Hash函数 MD5 128bit SHA 1 160bit 等 1 使用Hash 函数进行完整性验证的模型 2 使用Hash函数进行口令验证 1 3 使用Hash函数进行口令验证 2 4 使用Hash解决数字签
  • 剑指offer(简单)

    目录 数组中重复的数字 替换空格 从尾到头打印链表 用两个栈实现队列 斐波那契数列 青蛙跳台阶问题 旋转数组的最小数字 二进制中的1的个数 打印从1到最大的n位数 删除链表的节点 调整数组顺序使奇数位于偶数前面 链表中倒数第k个节点 反转链
  • 史上最详细的maven仓库详解

    写在前面 我是 沸羊羊 昵称来自于姓名的缩写 fyy 之前呕心沥血经营的博客因手残意外注销 现经营此账号 本人是个小菜 正向着全栈工程师的方向努力着 文章可能并不高产 也很基础 但每写一篇都在用心总结 请大佬勿喷 如果您对编程有兴趣 请关注
  • 新增、修改入参方法

    一 HttpServletRequest req 获取参数值value 1 Postman 在params逐个参数赋值 PostMapping xxx String id req getParameter id 后端通过如上的方法一个个去获
  • 一文全览各种ES查询在Java中的实现

    点击关注公众号 互联网架构师 后台回复 2T获取2TB学习资源 上一篇 Alibaba开源内网高并发编程手册 pdf ElasticSearch多种查询操作 前言 词条查询 等值查询 term 多值查询 terms 范围查询 range 前
  • Dubbo+Zookeeper+Spring mvc+Nginx 集群负载均衡 详细demo

    原文链接 https blog csdn net xianghui12333 article details 71172342 处女博客 不知道规则怎么写 直接入主题吧 很多人刚接触分布式 集群负载均衡时都觉得高深莫测 难度有点大 其实起码
  • 让你的手机号码变成空号!没试过

    输入 21 13800000000 再按拨号键 注意13800000000这是个空号 原理就是 21 是无条件转移所有来电 13800000000是个空号 如果13800000000的号不起作用你就随便输入个号码什么的 自然别人打进来您的号
  • r730xd服务器重装系统后风扇声音大,重装Win10系统后散热风扇噪音特别大的处理方法...

    有的小伙伴为了解决一些问题 便给电脑重装系统了win10系统 但是在重装后 却又出现了新的问题 在重装完win10后散热风扇噪音响声特别大 非常影响电脑的使用心情 那么遇到这种情况应该怎么办呢 下面小编就给大家分享一下重装Win10系统后散
  • [从零学习汇编语言] - BX寄存器与loop指令

    文章目录 前言 一 Bx寄存器与 偏移地址 二 loop指令与jmp指令 1 jmp指令 2 loop指令 三 一些奇奇怪怪的注意点 1 汇编源程序的数字问题 2 Debug和Masm的区别 1 mov ax 0 问题 3 段前缀 四 课后
  • Postern中配置和使用Socks5代理指南

    在Postern中配置和使用Socks5代理 可以为你的爬虫项目提供更灵活 更可靠的网络连接 本文将向你分享如何在Postern中配置和使用Socks5代理的方法 解决可能遇到的问题 配置和使用Socks5代理的步骤 1 了解Socks代理
  • python程序格式_三、Python程序规范

    三 python程序规范 python的设计哲学 大道至简 优雅 明确 简洁 在交互式解释器中输入 import this 会出现python之禅 Python之禅 by Tim Peters 优美胜于丑陋 Python 以编写优美的代码为
  • 2020年数学建模国赛C题:中小微企业的信贷决策

    2020年高教社杯全国大学生数学建模竞赛题目 请先阅读 全国大学生数学建模竞赛论文格式规范 C题 中小微企业的信贷决策 在实际中 由于中小微企业规模相对较小 也缺少抵押资产 因此银行通常是依据信贷政策 企业的交易票据信息和上下游企业的影响力
  • myeclipse安装

    myeclipse2019安装 myeclipse2019下载 下载链接 https www myeclipsecn com download 这里以离线版安装为例 打开下载得到的文件 点击next 软件安装稍久 请耐心等待 软件安装完成
  • 毫米波雷达_一文读懂毫米波雷达

    汽车已进入无人驾驶探索阶段 无人驾驶的眼睛 毫米波雷达成为必不可少的一员 文 安兹 集微网 整理 Zn Lab 无人驾驶的眼睛 毫米波雷达 汽车已经进入无人驾驶探索阶段 可以主动防护汽车驾驶安全的高级驾驶辅助系统 以下简称 ADAS 技术也
  • 【博客691】VictoriaMetrics如何支持Multi Retention

    VictoriaMetrics如何支持Multi Retention 场景 实现Multi Retention Setup within VictoriaMetrics Cluster 使得为不同的监控数据采用不同的保存时间 Multi R
  • ES6箭头函数(三)-应用场景

    直接作为事件handler document addEventListener click ev gt console log ev 作为数组排序回调 var arr 1 9 2 4 3 8 sort a b gt if a b gt 0