【ES6】数组的拓展

  • 一、Array.from()方法
  • 二、Array.of()方法
  • 三、数组的copyWithin()方法
  • 四、数组的find()和findIndex()方法
  • 五、数组的fill()方法
  • 六、数组的entries()、keys()、values()方法
    • 查看更多ES6教学文章:
    • 参考文献

引言:ES6增加了对数组的接口。

一、Array.from()方法

Array.from方法用于将两类对象转为真正的数组:类似数组的对象和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。

//将类似数组的对象转化为数组
let arraylike = {'0' : 'a','1' : 'b','2' : 'c',length : 3
}
let arr=Array.from(arraylike); // ['a','b','c']//将字符串转化为数组
Array.from('hello'); // ['h','e','l','l','o']//将set解构转化为数组
let nameSet = new Set(['a','b']);
Array.from(nameSet); // ['a','b']

二、Array.of()方法

Array.of方法用于将一组值转化为数组。这个方法的主要目的是弥补构造函数Array()的不足。因为参数的个数会导致Array()函数行为有差异。

Array(3); // [, , ,]
Array.of(3); // [3]Array(3,4,5); // [3,4,5]
Array.of(3,4,5); // [3,4,5]

三、数组的copyWithin()方法

copyWithin(target,start,end)方法用于在当前数组内部将指定位置的成员复制到其他位置。
它接受三个参数:
target:从该位置开始替换数据
start:从该位置开始读取数据,默认为0。如果负数,表示倒数第几个。
end:到该位置停止读取数据,默认等于数组长度。如果负数,表示倒数第几个。

[1,2,3,4,5].copyWithin(0,3,4); // [4,2,3,4,5][1,2,3,4,5].copyWithin(0,-2,-1); // [4,2,3,4,5]

四、数组的find()和findIndex()方法

find()方法用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行回调函数,知道找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,返回undefined。
        findIndex()方法和find差不多,但是返回的是数组成员的位置。

[1,2,-5,10].find((n) => n<0 ) //-5
[1,2,-5,10].findIndex((n) => n<0 ) //2

五、数组的fill()方法

fill()方法用于使用给定的值填充数组。

['a','b','c'].fill(7); // [7,7,7]new Array(3).fill(7); // [7,7,7]['a','b','c'].fill(7,1,2); // ['a',7,'c']

六、数组的entries()、keys()、values()方法

keys()方法对键名进行遍历。
        valuess()方法对键值进行遍历。
        entries()方法对键值对进行遍历。

for (let index of ['a','b'].keys()){console.log(index);
}
//0
//1for(let elem of ['a','b'].values()){console.log(elem);
}
//'a'
//'b'for(let [index,elem] of ['a','b'].entries()){console.log(index,elem);
}
// 0 'a'
// 1 'b'

查看更多ES6教学文章:

1. 【ES6】let与const 详解
2. 【ES6】变量的解构赋值
3. 【ES6】字符串的拓展
4. 【ES6】正则表达式的拓展
5. 【ES6】数值的拓展
6. 【ES6】数组的拓展
7. 【ES6】函数的拓展
8. 【ES6】对象的拓展
9. 【ES6】JS第7种数据类型:Symbol
10. 【ES6】Proxy对象
11. 【ES6】JS的Set和Map数据结构
12. 【ES6】Generator函数详解
13. 【ES6】Promise对象详解
14. 【ES6】异步操作和async函数
15. 【ES6】JS类的用法class
16. 【ES6】Module模块详解
17. 【ES6】ES6编程规范 编程风格

参考文献

阮一峰 《ES6标准入门(第2版)》

【ES6】数组的拓展相关推荐

  1. 《ES6标准入门》49~68Page 数值的拓展 数组的拓展

    1.数值拓展 ES6提供的二进制和八进制表示法分别是二进制: 0B111110111(0b111110111) 八进制: 0O767(0o767) ES6提供了新的Number.isFinite()和 ...

  2. es6+的javascript拓展内容

    一.let,const 1.因为块级的作用域,这样打印01234,循环外打印i会报错 for (let i = 0; i < 5; i++) {setTimeout(console.log(i) ...

  3. 阮一峰老师的JavaScript标准参考教程:函数和ES6函数的拓展

    函数 1. 概述 函数的声明 JavaScript 有三种声明函数的方法. (1)function 命令 function命令声明的代码区块,就是一个函数.function命令后面是函数名,函数名后面 ...

  4. ES5和ES6数组遍历方法详解

    ES5和ES6数组遍历方法详解 在ES5中常用的10种数组遍历方法: 1.原始的for循环语句 2.Array.prototype.forEach数组对象内置方法 3.Array.prototype. ...

  5. 【JavaScript】ES6 数组的扩展

    ES5 数组基础 ES5 数组常用方法 ES5 数组方法 arr.forEach() arr.forEach(callback[, thisObj]) 简单地遍历数组 callback:回调函数,没有 ...

  6. 【ES6】es6数组中对象去重,数组对象去重方法总结---filter()与reduce()实践

    es6数组中对象去重 方法一: filter()与findIndex()给数组去重 1. filter()用法 2. findIndex()用法 3. 去重实战 方法二:reduce()去重 1. r ...

  7. ES6 数组 some, every用法

    ES6 数组提供了some和every方法 some表示只有一个满足条件就返回true,every则表示只有全部满足条件才会返回true.简单例子如下: ​ <html><head& ...

  8. ES6数组方法find()、findIndex()的总结

    本文主要讲解ES6数组方法find()与findIndex(),关于JS的更多数组方法,可参考以下: ①JavaScript 内置对象之-Array ②ES5新增数组方法(例:map().indexO ...

  9. ES6 数组的includes和find、findindex

    ES6 数组的includes和find.findindex ES6 数组的includes和find.findindex ES5的indexOf ES6中includes() includes()函 ...

最新文章

  1. SpringBoot + RabbitMQ (保证消息100%投递成功并被消费)
  2. 中国AI论文,爆了!
  3. 保镖机器人作文_关于机器人作文400字
  4. 川渝严重高温伏旱根源:全球气候变暖导致灾情频发
  5. OpenShift 4 - DevSecOps Workshop (13) - 将镜像推送到Quay,并进行漏洞扫描
  6. 2021 年押宝哪个后端语言呢?
  7. MinGW —— Minimalist GNU for Windows、Cygwin —— Windows 下的类 unix 系统
  8. mysql_query is deprecated_Function mysql_db_query() is deprecated 错误解决
  9. ANSYS CFD网格划分笔记2
  10. python计算特征根以及特征向量
  11. linux下使用iso文件安装yum
  12. 云安全|云原生安全概述
  13. Symbian模拟器启动流程
  14. 站立会议_站立-接受或离开
  15. GPT3.5插件免费使用方法(无须科学上网)
  16. 2023年上半年软件设计师上午真题及答案解析
  17. 清华大学c语言程序设计教程下载,清华大学出版社-图书详情-《C语言程序设计教程》...
  18. 杂记一:rocksdb架构及其java读写api
  19. 黑人品牌2018年推出3款代表性牙刷产品
  20. RestTemplate HttpClient 加载 SSL/PKCS12/微信API证书

热门文章

  1. mongodb查找报错
  2. arXiv | 图表示方法驱动大分子计算研究
  3. ICML2020 | GCNII:使用初始残差和恒等映射解决过度平滑
  4. python与mongo_MongoDB与Python的交互
  5. 低调的,我们改名字了!
  6. 在线作图|如何绘制带分组的散点图
  7. 【LorMe云讲堂】蔡枫:真菌的耐盐机制
  8. 第一:做学位论文期间,不要有任何度假休息的打算;第二,导师错的时候不多;第三……...
  9. 国家微生物科学数据中心推出免费一站式生物信息分析云平台
  10. R语言:生成正态分布数据生成--rnorm,dnorm,pnorm,qnorm