ES6数组及编程题

2023-11-17

1. forEach()

var arr = [1,2,3,4];
arr.forEach((item,index,arr) => {
    console.log(item) //结果为1,2,3,4})// 数组的遍历方法,无返回值,不改变原数组

2. map()

var arr = [1,2,3,4];
arr.map((item,index,arr) => {
    return item*10 //新数组为10,20,30,40})//map遍历数组,返回一个新数组,不改变原数组的值。

3. filter()

var arr = [1,2,3,4];
arr.filter((item,index,arr) => {
    return item > 2 //新数组为[3,4]})//filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组的值。

4. reduce()

var arr = [1,2,3,4];
arr.reduce((sum,item,index,arr) => {
      // sum 上次循环返回的值,若为第一次循环值为 origin
      // item 循环项
      // index 循环下表
      // arr 源数组
      return sum + item;},origin)//reduce 遍历数据求和。

5. some()

var arr = [1,2,3,4];
arr.some((item,index,arr) => {
    return item > 3 //结果为true})//遍历数组每一项,有一项返回true,则停止遍历,结果返回true。不改变原数组

6. every()

var arr = [1,2,3,4];
arr.every((item,index,arr) => {
    return item > 1 //结果为false})//遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组// 与some()方法互补

7. all()方法

多个异步操作执行完后才执行回调

Promise.all([promise1,promise2,promise3]).then(results => {
  // results 是上面多个promise回调结果的数组});

—————————————————————————————————————————

1. 使用解构,实现两个变量的值的交换

let a = 1;
let b = 2;[a,b] = [b,a];

2. 利用数组推导,计算出数组 [1,2,3,4] 每一个元素的平方并组成新的数组。

var arr1 = [1, 2, 3, 4];
var arr2 = [for (i of arr1) i * i];
console.log(arr2);

3. 使用ES6改下面的模板

let iam  = "我是";
let name = "王德发";
let str  = "大家好,"+iam+name+",多指教。";
改:
let iam  = `我是`;
let name = `王德发`;
let str  = `大家好,${iam+name},多指教。`;

4. 把以下代码使用两种方法,来依次输出0到9?

var funcs = []
    for (var i = 0; i < 10; i++) {
        funcs.push(function() { console.log(i) })
    }
    funcs.forEach(function(func) {
        func()
    })

答:分别使用es5的闭包和es6的let
// ES5告诉我们可以利用闭包解决这个问题

var funcs = []
    for (var i = 0; i < 10; i++) {
        func.push((function(value) {
            return function() {
                console.log(value)
            }
        }(i)))
    }
    // es6
    for (let i = 0; i < 10; i++) {
        func.push(function() {
            console.log(i)
        })
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ES6数组及编程题 的相关文章

  • 【SqlServer】如何把本地SqlServer数据库部署到远程服务器上

    这里笔者使用的使用SqlServer2012 本机和远程环境均为Win7 1 选中需要部署的数据库 右击 任务 分离 选中删除连接 2 现在在左侧的表中就看不见刚才那个数据了 3 在本地找到分离出来的数据库的位置 该位置就是读者建立数据库的
  • 厌烦了Ctrl+CV ?试试用node自动生成重复代码文件

    前言 相信在我们日常遇到的项目中 无论是在前端网站还是后台管理系统中都会有功能类似的页面 我们在开发这些功能类似的页面的时候 为了提高效率 一般都会运用我们的CV大法 但是当我们CV久了之后 会不会觉得这样的开发方式有些许枯燥 我们能不能通
  • 孙子算经 之 物不知数(韩信点兵)

    孙子算经 作者不可考 成书于四 五世纪南北朝时期 传本分三卷 它是算经十书之一 中国古代最重要的数学著作之一 其下卷26题 物不知数 为其最重要的成就之一 今有物 不知其数 三三数之 剩二 五五数之 剩三 七七数之 剩二 问 物几 何 答曰
  • 解决下载文件时报:Could not find acceptable representation

    今天在写一个文件打包下载的接口的时候一直报错误 文件是可以下载的但是后台打印的日志信息出现 Could not find acceptable representation错误 我之前百度给我的结果是由于我的返回值是json字符串 而由于
  • STM32F1各个工作状态下的工作电流

    低功耗操作实验 文章非原创 从其他网站上摘录 如果侵犯到到 麻烦联系删除 实验目的 测量 STM32 在各种状态下的功耗 包括在不同时钟频率下 32M 8M 1M 100K 10K 不同振荡器 内部 外部 不同模式 活动 睡眠 停机 待机
  • 经纬度查询_查询经纬度并自动转换格式(升级版)附带下载

    链接 https pan baidu com s 1Ysjwdu9griOXzw50RvfF1A 提取码 iwvv 链接 https share weiyun com 8ECyYM8g 密码 bwqmk8 1 史上最齐全的CAD下载资源 2
  • 二进制方式部署kubernetes集群

    二进制方式部署kubernetes集群 1 部署k8s常见的几种方式 1 1 kubeadm Kubeadm 是一个 k8s 部署工具 提供 kubeadm init 和 kubeadm join 用于快速部署 Kubernetes 集群
  • [python]多线程socket端口探测(包含top50-1000)

    这个脚本是基于tcp的 以下链接是基于tcp udp的自动切换的脚本 比这个脚本方便多了 实现UDP TCP的多线程端口探测 包含TOP 50 1000 sGanYu的博客 CSDN博客 多线程扫描工具 import optparse im
  • 数学建模常用的四大模型

    目录 1 评价模型 2 优化模型 3 分类模型 4 预测模型 本文主要介绍数学建模的四大模型分类 分别是评价模型 优化模型 分类模型 预测模型 关注公众号 数模乐园 回复 买 获得更多数模教程 1 评价模型 评价模型可以处理难于完全定量分析
  • ftp服务器查看所有文件夹,查看ftp服务器所有文件夹

    查看ftp服务器所有文件夹 内容精选 换一换 对于本文档的应用示例 查看 HOME tools projects Custom Engine main cpp中所需输入数据如下所示 ASIC场景 以root用户登录Host侧服务器 在 ho
  • R大数定律(Python切比雪夫不等式验证大数定律)模拟圆周率

    大数定律 在概率论中 大数定律 LLN 是描述大量执行相同实验的结果的定理 根据规律 大量试验所得结果的平均值应接近预期值 并随着试验次数的增加而趋于接近预期值 LLN 很重要 因为它保证了一些随机事件的平均值的长期稳定结果 例如 虽然赌场
  • 【Hive】Hive分区表

    分区作为一种提高数据操作灵活性的手段 被广泛应用于关系型数据库中 在Hive中我们同样可以采用分区的方式来提高数据操作效率 不同于关系型数据库 如Oracle Hive的分区表既可以是内部表 也可以是外部表 本篇文章主要介绍如何在Hive中
  • ValueError:optimizer got an empty parameter list 的一个可能错误

    ValueError optimizer got an empty parameter list基本都跟 init 及其里面的代码有关 比如下划线打错了 init拼错了 没有super 没在 init 函数内定义网络等 本次具体如下 今天有
  • 计数排序基础思路

    所谓计数排序 也可以称为散列表 也是一种简单的哈希桶 今天 小编带大家来了解计数排序的基本思路 一 基本思路 以升序为例 计数排序通俗来讲 分为三个步骤 首先制作包含所有要排序的数的桶 相同的数制作一个桶即可 以2 3 6 1 4 1 2
  • eclipse如何配置Maven

    Maven 翻译为 专家 内行 是 Apache 下的一个纯 Java 开发的开源项目 基于项目对象模型 缩写 POM 概念 Maven利用一个中央信息片断能管理一个项目的构建 报告和文档等步骤 Maven 是一个项目管理工具 可以对 Ja
  • C++:unique_ptr

    Code C program to illustrate the use of unique ptr include
  • Go_一文入门网络编程:常见协议、通信过程、Socket、CS/BS、TCP/UDP

    网络编程三要素 ip地址 端口 协议 在网络通信协议下 不同计算机上运行的程序 可以进行数据传输 IP地址 IP地址是一种在互联网协议中用于识别和定位设备的32位或128位数字地址 它是一个设备在网络上的唯一标识符 用于在互联网上定位和识别

随机推荐

  • 【房价网房价信息爬虫】整站40万条房价数据并行抓取,可更换抓取城市

    写在前面 学习数据采集 先转载下来 之后在学习 这次的爬虫是关于房价信息的抓取 目的在于练习10万以上的数据处理及整站式抓取 数据量的提升最直观的感觉便是对函数逻辑要求的提高 针对Python的特性 谨慎的选择数据结构 以往小数据量的抓取
  • git fetch merge rebase squash

    合并分类 在合并分支的时候 默认是有三种选项的 分别是 普通的 merge squash merge rebase merge 区分 merge 和 rebase 更多参考GIT使用rebase和merge的正确姿势 准备 假设我们有如下图
  • Java异常 (throwable)

    异常主要是error和exception两种 throwable的两个子类 1 Error类及其子类 代表的是Error类及其子类 代表的是jvm本身的错误 错误不能被程序通过代码处理 2 Exception类及其子类 一般都是程序写错了
  • 韦东山和正点原子IMX6ULL开发版的区别

    网卡驱动复位引脚硬件区别 网卡 复位脚 厂家 io 网卡0 SNVS TAMPER9 100ask gpio5 IO9 网卡1 SNVS TAMPER6 100ask gpio5 IO6 网卡0 SNVS TAMPER7 正点原子 gpio
  • 平头哥(T-Head )开源RISCV处理器OpenC906 RTL仿真

    在过去的几年里 阿里集团平头哥陆续推出了几款RISCV处理器 有些处理器已经在产业界得到了应用 比如在某志的D1处理器中 就嵌入了平头哥的玄铁C906内核为 芯 RISCV虽然是一个开放标准 并且网络上也不乏一些开源核的RTL实现 但是商用
  • 布局-ConstrainLayout

    Relative positioning 相对位置 layout constraintLeft toLeftOf 将所需视图的左边与另一个视图的左边对齐 layout constraintLeft toRightOf 将所需视图的左边与另一
  • Vue中使用TailwindCSS实现深色模式(跟随系统和手动控制)

    Vue中使用TailwindCSS实现深色模式 跟随系统和手动控制 源码下载 先贴一下手动控制的成品效果 创建VUE工程 初始化 Tailwind CSS 安装 Tailwind 以及其它依赖项 创建配置文件 在 CSS 中引入 Tailw
  • 174万亿采购,奔向数字化

    采购不单纯发生在外部 更发生在内部 只有两者同时进行 才能完成采购中心从成本到利润中心角色的转变 作者 斗斗 编辑 皮爷 出品 产业家 数字化 让很多企业业务流程发生了质变 2022数字化采购发展报告 显示 数字化采购的价值可降低30 供应
  • 基于java的小区车辆管理系统

    本系统主要采用JSP为编程语言 可以方便管理小区车辆管理需要 后台主要包括车辆管理 停车卡管理 车位管理等功能 本系统操作简单 使用方便 本系统旨在为小区物业管理人员提供一个功能齐全 使用方便的基于卡式的小区车辆管理系统 以代替传统的人员管
  • C#—DataTable常见用法

    1 构建DataTable数据源 DataTable dt new new DataTable dt new Columns Add column1 typeof string dt new Columns Add column2 type
  • check original full command

    suppose I create a shortcut command named sql how can I know its original full command xxx 1014 type sql sql is hashed a
  • 【centos8.2下载安装netcat监听工具】——关注紫灵小姐姐不踩坑

    下载 wget https sourceforge net projects netcat files netcat 0 7 1 netcat 0 7 1 tar gz 解压 安装 cd netcat 0 7 1 configure 如果报
  • 数据库 练习(五)

    创建student表 CREATE TABLE Student S VARCHAR 10 Sname VARCHAR 10 Sage DATETIME Ssex NVARCHAR 10 创建数据 INSERT INTO Student VA
  • typora使用教程

    typora使用教程 1 多级标题的使用 加空格 表示一级标题 加空格 表示二级标题 加空格 表示三级标题 加空格 表示四级标题 typora最多支持六级标题 2 有序列表和无序列表的使用 或 加空格 会生成无序列表 如下 这是 加空格生成
  • 【你哥电力电子】THE BOOST 升压斩波电路1

    BOOST电路1 2023年1月12日 nige in Tongji University elecEngeneer 上链 文章目录 BOOST电路1 1 BOOST电路来源 2 CCM下的理想稳态分析 2 1 分析流程 3 DCM下的理想
  • Post请求的四种方式

    Post请求四种传送方式的Python实现 HTTP 协议规定 POST 提交的数据必须放在消息主体 entity body 中 但协议并没有规定数据必须使用什么编码方式 常见的四种编码方式如下 1 application x www fo
  • 【微服务】一张图搞懂微服务架构设计

    一张图搞懂微服务架构设计 1 前言 2 流量入口 Nginx 3 网关 4 业务组件 5 服务注册中心 6 缓存和分布式锁 7 数据持久层 8 结构型数据存储 9 消息中间件 10 日志收集 11 任务调度中心 12 分布式对象存储 1 前
  • 区块链密码学(一):密码学基础及概念

    一 概念 主要介绍非对称加密的一些概念 公钥 私钥 均可加密或解密 配对即可 一般来讲 私钥用来进行解密和签名 是给自己用的 公钥由本人公开 用于加密和验证签名 是给别人用的 签名 内容 gt hash gt digest gt 私钥加密
  • zookeeper学习网址

    1 分布式服务框架 ZooKeeper 管理分布式环境中的数据 http www ibm com developerworks cn opensource os cn ZooKeeper 2 ZooKeeper系列讲座 很全面 http w
  • ES6数组及编程题

    1 forEach var arr 1 2 3 4 arr forEach item index arr gt console log item 结果为1 2 3 4 数组的遍历方法 无返回值 不改变原数组 2 map var arr 1