当前位置: 首页 > news >正文

ES6(对象,数组,类型化数组)

对象

1,Object.is

用于判断两个值是否相等, 其内部实现类SameValue算法, 其行为类似于“=
但与“
=”不同的是 它认为两个NaN是相等的 而+0,-0是不相等的

2,Object.assign

表示此方法可以将对象合并成一个 他的第一个参数是目标对象 剩余的参数都是源对象 返回值是最后的目标对象
特点:
只能复制可枚举的自有属性 不能无法复制继承的属性 和 不可枚举的属性

 var obj1 = { name: '123' }var obj2 = Object.create( obj1 )obj2.age = 2Object.assign({}, obj2)
// 其结果为{ age: 2}

遇到同名的属性, 后面的会覆盖前面的值
Object.assign() 方法是进行的浅拷贝 对于属性值为对象 只能对其指针的地址进行复制
Symbol()对象也会复制
当源对象的位置 是基本数据类型的时候 会将其包装成对象 像是undefined与null没有相应对象 就会被包装成字符串类型。

数组

1,静态方法 Array.of()

一个静态方法of(), 用于创建数组,可以接收任意个参数,返回值是由这些参数组成的一个新数组。

Array.of(2) // [2]
Array(2) //[,]

2,静态方法 Array.from()

可以将类数组对象和可迭代对象转换成数组, 可以接收3 个参数
第一个参数:待转换对象
第二个参数:回调函数 可选
第三个参数: 执行回调函数所绑定的this对象 可选

var obj = { 0: 1, 1: 2, 2: 3,length: 3} // 类数组对象
Array.from(obj) // [1,2,3] // 使用回调函数
Array.from(obj, function(value, index){return value * 2
})

3, fill(), copywithin()

fill(填充的值,开始的索引值,结束填充的位置)
copyWithin( 开始执行复制的位置,复制序列的起始位置,复制序列的结束位置)

注意点:

  • 不仅修改原数组, 还会覆盖指定 范围内的元素
  • 复制或者填充执行的都是浅复制
  • 当方法中的索引参数是负数的时候 会先和数组的长度相加,再计算出最终的索引。
  • 保持数组的长度不变 在数组末尾停止复制或者填充
var arr1 = [1,2,3,4,5]
var arr2 = [ 1, 2, 3, 4, 5]
arr1.fill(6, 0, 2) // [6, 6, 3, 4, 5]
arr2.copyWithin(2,0,2) // [1,2,1,2,5]

4, find() , findIndex()

这两个方法都可以接收两个参数
第一个是回调函数,其中有三个参数:当前元素,元素索引,原始数组
第二个是回调函数绑定的this对象

当匹配失败时, find() 返回的undefined
findIndex()返回的是-1

arr.find(function(value, index){return value ==="1"
})

5, keys(), values(), entries()

这三个是迭代器方法 都返回一个可迭代对象

var arr = ["a","b","c"]
[...arr.keys()] // [0,1,2]
[...arr.values()] // ["a","b","c"]
[...arr.enties()] // [[0,"a"],[1,"b"],[2,"c"]]
http://www.lryc.cn/news/70244.html

相关文章:

  • JVM系列-第12章-垃圾回收器
  • 零操作难度,轻松进行应用测试,App专项测试之Monkey测试完全指南!
  • Linux安装Docker(这应该是你看过的最简洁的安装教程)
  • 使用AES算法加密技术集成Java和Vue保护您的数据,代码示例和算法原理
  • vcruntime140_1.dll丢失怎样修复,推荐4个vcruntime140_1.dll丢失的修复方法
  • 快来试试这几个简单好用的手机技巧吧
  • OneDrive同步角标消失 - 解决方案
  • 自学网络安全【黑客】,一般人我劝你还是算了吧
  • Java集合工具:first和last
  • leetcode 905. 按奇偶排序数组
  • 密码学安全性证明(一)Cramer-Shoup密码系统
  • Asp.net Core系列学习(1)
  • IDEA 2022.2 安装以及自定义优化
  • 【华为OD机试真题2023B卷 JAVA】阿里巴巴找黄金宝箱(II)
  • Python对Excel文件多表对多表之间的匹配(两种不同表头)——之json版
  • shiro环境搭建
  • 一文读懂selenium自动化测试(基于Python)
  • 如何高效地在网上找开源项目
  • 2023系统分析师---冲刺资料必备知识点三
  • 集成Bean Validation 1.1(JSR-349)到 SpringMVC
  • 【软考中级】软件设计师选择题题集(一)
  • 10个炫酷特效的网页写法(附源码),拿去就能用,奈斯奈斯
  • vscode开发stm32的编译环境配置教程
  • Live800在线客服系统:客户体验即是业绩来源
  • SAP工具箱 MR22自定义BAPI
  • ASP.NET 网上选课系统的设计与实现(源代码+论文)
  • SpringMVC学习总结(路由映射、参数传递、转发和重定向...)
  • 基于MAC地址的ACL配置
  • 软件设计师 计算机网络
  • Gradle ——Gradle安装与配置