for…in和for…of的用法与区别

写了两年的js,迷迷糊糊的,现在系统地回顾一下

遍历对象的方法

for…in循环、Object.keys()、Object.entries()、Object.values()

  1. for … in 循环
for (let key in obj) {if (Object.hasOwnProperty(key)) {console.log(obj[key]);}
}
  1. Object.keys()
Object.keys(obj).forEach(function(key) {consolo.log(obj[key);
})
  1. Object.values() 方法
Object.values(obj).forEach(function(value) {console.log(value);
})
  1. Object.entries() 方法
Object.entries(obj).forEach(function([key, value]) {console.log(key, value);
})

遍历数组的方法

for循环、 forEach方法、for of循环、map、filter、reduce

  1. for 循环
for (let i = 0; i < arr.length; i++) {}
  1. for…of循环
for (let element of arr) {console.log(element);
}
  1. map方法(会创建一个新数组)
arr.map(function(item) {console.log(item);
})
  1. filter 方法(会创建一个新数组)
  2. reduce 方法

数组的全部方法

  1. 添加、删除
    push:尾部添加元素,返回新数组长度
    pop:移除并返回数组的第一个元素
    unshift:数组头部插入,返回新数组长度
    shift:移除并返回数组的第一个元素

  2. 合并、分割
    concat: 合并数组,返回新数组
    slice:分割数组的某一部分,包含起始位置,不包含结束为止

  3. 修改数组
    splice:从指定位置开始删除或添加元素
    reverse:颠倒数组的顺序
    sort(compareFunction):对数组进行排序

  4. 查询元素
    indexof:返回指定元素第一个出现的位置,没有返回-1
    lastIndexOf:指定元素最后一次出现的索引,没有返回-1
    includes

  5. 遍历数组
    foreach
    map
    filter
    reduce

  6. 其他方法
    join
    toString
    isArray

  7. 检测方法
    every
    some

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/219937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

26:kotlin 类和对象 -- 委托属性(Delegation properties )

尽管每次需要时都可以手动实现一些常见类型的属性&#xff0c;但将它们实现一次、添加到库中以便以后重用会更为方便 懒加载属性&#xff1a;仅在首次访问时计算值。可观察属性&#xff1a;监听器会收到有关此属性更改的通知。将属性存储在映射中而不是为每个属性单独创建字段…

设计模式——观察者模式(Observer Pattern)

概述 观察者模式是使用频率最高的设计模式之一&#xff0c;它用于建立一种对象与对象之间的依赖关系&#xff0c;一个对象发生改变时将自动通知其他对象&#xff0c;其他对象将相应作出反应。在观察者模式中&#xff0c;发生改变的对象称为观察目标&#xff0c;而被通知的对象称…

鸿蒙篇——初次使用鸿蒙原生编译器DevEcoStudio创建一个‘Hello world’原生鸿蒙应用遇到的坑--汇总(持续更新)

背景&#xff1a;2023年12月13日&#xff0c;使用DevEcoStudio 4.0.0.600版本&#xff0c;项目的compileSdkVersion是8。 一.提示类似于ohpm ERROR: NOTFOUND package "ohos/hypium" not found from all the registries或者npm ERR! 404 ohos/hvigor3.0.9 is not in …

深入对象指针

对象指针 实验介绍 本节实验专门介绍对象指针相关内容。指针是一把双刃剑,用好了非常顺手使用,但同时也好要小心使用指针。指针是 C/C++ 语言的特点,只有掌握好指针才能学习到精髓。 知识点 对象指针对象成员指针this 指针对象指针 在前面的实验中已经使用过对象指针,本…

Git命令大全:从基础到高级应用

目录 一、增加/删除文件 1.1 添加文件到暂存区 1.2 添加所有文件到暂存区 1.3 从暂存区移除文件 1.4 从版本库和工作区删除文件 二、代码提交 2.1 提交暂存区文件到本地仓库 2.2 修改最后一次提交信息 三、本地分支 3.1 创建新分支 3.2 切换分支 3.3 创建并切换到新分支 3.4 删…

Postman-脚本自动化及定时执行脚本(7)

一.postman脚本自动化&#xff08;从postman至Newman可以一键执行脚本并生成报告&#xff1a;&#xff09; Postman Newman 是一个 CLI&#xff08;命令行界面&#xff09;工具&#xff0c;可以使用它来运行 Postman 中的集合&#xff08;Collection&#xff09;和环境&#xf…

android 逆向工程(待续)

目录 工具类IDASegment registers(shiftF8) 反调试利用IO重定向来绕过反调试 EBPF使用eBPF完成安卓App hook xHookUNIDBG补环境 文件结构ELFsection和segment的关系.dynamic段.init和.init_array段 花指令花指令5要素 Smali基础打包 工具类 IDA Segment registers(shiftF8) …

音频DAC,ADC,CODEC的选型分析,高性能立体声

想要让模拟信号和数字信号顺利“交往”&#xff0c;就需要一座像“鹊桥”一样的中介&#xff0c;将两种不同的语言转变成统一的语言&#xff0c;消除无语言障碍。这座鹊桥就是转换器芯片&#xff0c;也就是ADC芯片。ADC芯片的全称是Analog-to-Digital Converter, 即模拟数字转换…

hive数据仓库工具

1、hive是一套操作数据仓库的应用工具&#xff0c;通过这个工具可实现mapreduce的功能 2、hive的语言是hql[hive query language] 3、官网hive.apache.org 下载hive软件包地址 Welcome! - The Apache Software Foundationhttps://archive.apache.org/ 4、hive在管理数据时分为元…

机器学习---数字聚类案例

1、K-means找中心点和数据点分类例子 import numpy as npdef loadDataSet(fileName):dataMat []fr open(fileName)for line in fr.readlines():curLine line.strip().split(\t)fltLine map(float,curLine)dataMat.append(fltLine)return dataMatdef distEclud(vecA,vecB):…

UI设计中的肌理插画是什么样的?

肌理插画本质也和扁平插画差不多&#xff0c;相较扁平插画&#xff0c;肌理插画的层次感、细节更多&#xff0c;也会更立体生动。 肌理插画风格没有描边线&#xff0c;画面轻快&#xff0c;通过色块的明暗来区分每个元素&#xff0c;有点像色彩版的素描&#xff0c;但更简单&a…

Wordle 游戏实现 - 使用 C++ Qt

标题&#xff1a;Wordle 游戏实现 - 使用 C Qt 摘要&#xff1a; Wordle 是一款文字猜词游戏&#xff0c;玩家需要根据给定的单词猜出正确的答案&#xff0c;并在限定的次数内完成。本文介绍了使用 C 和 Qt 框架实现 Wordle 游戏的基本思路和部分代码示例。 引言&#xff1a;…

【东枫科技 招聘】实习:无线通信工程

位置 北京市、海淀区 实习&#xff1a;无线通信工程 下一代移动网络在信号质量、灵敏度和动态切换性能方面越来越难以测试。特别是对于通信系统&#xff0c;简单的射频测试不足以测量这些参数。这就是为未来5G 和 6G 通信系统开发复杂的测试和测量硬件和软件的原因。我们的客…

Flutter在Visual Studio Code上首次创建运行应用

一、创建Flutter应用 1、前提条件 安装Visual Studio Code并配置好运行环境 2、开始创建Flutter应用 1)、打开Visual Studio Code 2)、打开 View > Command Palette。 3)、在搜索框中输入“flutter”&#xff0c;弹出内容如下图所示&#xff0c;选择“ Flutter: New Pr…

如何使用命令行运行PHP脚本?

在命令行中运行 PHP 脚本非常简单。下面是基本的步骤&#xff1a; 安装 PHP&#xff1a; 确保你的系统上安装了 PHP。你可以在终端中运行 php -v 命令检查 PHP 是否已安装&#xff0c;并查看版本信息。 创建 PHP 脚本&#xff1a; 使用文本编辑器创建一个 PHP 脚本文件&#x…

Flutter自定义TextInputFormatter实现金额输入框,同时解决iOS数字键盘不能输入小数点的问题

一、实现的效果 二、金额输入框基本要求 只能输入.和数字小数点后只能有俩位小数点不能作为开头 三、在iOS设备上这里还有个坑&#xff0c;数字键盘上这个小数点会根据你手机设置的不同国家地区来决定显示是.还是, 如下 所以这个时候最好的解决办法是允许输入.、数字和,然后在…

TS中断言、转换的应用

1.TS 类型断言定义 把两种能有重叠关系的数据类型进行相互转换的一种 TS 语法&#xff0c;把其中的一种数据类型转换成另外一种数据类型。类型断言和类型转换产生的效果一样&#xff0c;但语法格式不同。 2.TS 类型断言语法格式 A 数据类型的变量 as B 数据类型 。 A 数据类…

【Clickhouse】float 计算误差

Float 为二进制 精度有损&#xff0c;每次求和的结果可能一样&#xff0c;由于相加顺序不一样导致。 bigDecimal是无损的&#xff0c;底层为十进制&#xff0c;但是存储占用更大。 举例&#xff1a; SELECT 0.1 0.2 AS result 在 ClickHouse 中&#xff0c;运行上述查询&am…

尚硅谷JavaWeb电子书城项目(Java+Mysql+Tomcat+Jsp)

自己写的在线电子书城项目&#xff0c;可改写&#xff0c;添加功能&#xff0c;如打折&#xff0c;分类&#xff0c;用户管理&#xff0c;评论等功能。 使用方法&#xff1a; 1.使用idea导入项目。 2.数据库要用项目resource文件里的book.sql文件建立。 3.修改jdbc.properi…

C++ 重载括号运算符示例

重载括号运算符的写法是&#xff0c; 返回值 operator() ( 表达式表 ) 参数个数不限&#xff1b; VC6新建一个单文档工程&#xff1b; 添加一个示例类&#xff0c;比较短&#xff0c;直接加到视类h文件的头部&#xff1b; class A { public:// 重载 括号 () 运算符int oper…