ES6新增的数组知识实例小结


Posted in Javascript onMay 23, 2020

本文实例讲述了ES6新增的数组知识。分享给大家供大家参考,具体如下:

ES6新增的数组知识实例小结

1.JSON数组格式转换

JSON的数组格式就是为了前端快速的把JSON转换成数组的一种格式,json数组格式如下:

let json = {
  '0': '男',
  '1': '女',
  length:3
}

这就是一个标准的JSON数组格式,跟普通的JSON对比是在最后多了一个length属性。只要是这种特殊的json格式都可以轻松使用ES6的语法转变成数组。

把上边的JSON代码使用Array.from(xxx)来转换成数组,代码如下:

let json = {
  '0': '男',
  '1': '女',
  length: 2
}

let arr = Array.from(json)
console.log(arr)

结果为:

 ["男", "女"]

上述中的length的值等于json中的除length:2以为的总和,若值多余实际,在数组中则会出现undefined。如下:

ES6新增的数组知识实例小结

结果为:

ES6新增的数组知识实例小结

 2.Array.of()方法

它负责把一堆文本或者变量转换成数组。在开发中我们经常拿到了一个类似数组的字符串,需要使用eval来进行转换,会拖慢我们的程序。这时候我们就可以使用Array.of方法。比如:

let arr =Array.of(3,4,5,6);
console.log(arr);

结果为:

ES6新增的数组知识实例小结

当然它不仅可以转换数字,字符串也是可以转换的。

let arr =Array.of('es6',1,'开发');
console.log(arr);

结果为:

ES6新增的数组知识实例小结

 3.find( )实例方法

 所谓的实例方法就是并不是以Array对象开始的,而是必须有一个已经存在的数组,然后使用的方法。也即实例方法是针对已存在的数组的。

在find方法中我们需要传入一个匿名函数,函数需要传入三个参数

  • value:表示当前查找的值。
  • index:表示当前查找的数组索引。
  • arr:表示当前数组。

在函数中如果找到符合条件的数组元素就进行return,并停止查找。相关代码如下:

let arr=[0,1,2,3,4,5,6,7,8,9];
console.log(arr.find(function(value,index,arr){
  return value > 6;
}))

返回结果为:7。说明找到了符合条件的值,并进行返回了,如果找不到会显示undefined

 4.fill( )实例方法

fill()也是一个实例方法,它的作用是把数组进行填充,它接收三个参数,第一个参数是填充的变量,第二个是开始填充的位置,第三个是填充到的位置。

let arr=[0,1,2,3,4,5,6,7,8,9];
arr.fill('es',2,5);
console.log(arr);

结果为:

ES6新增的数组知识实例小结

上边的代码是把数组从第二位到第五位用es进行填充。

5.数组的遍历--for…of循环

(1)输出数组内容

let arr=['男','女']
for (let item of arr){
  console.log(item);
}

结果为:男、女。

(2)输出数组索引

let arr=['男','女']
for (let index of arr.keys()){
  console.log(index);
}

输出值为:

0、1

(3)同时输出数组的内容和索引--entries()方法

let arr=['男','女']
for (let [index,val] of arr.entries()){
  console.log(index+":"+val);
}

结果为:

ES6新增的数组知识实例小结

6.entries( )实例方法

entries()实例方式生成的是Iterator形式的数组,那这种形式的好处就是可以让我们在需要时用next()手动跳转到下一个值。如下代码:

let arr=['男','女']
let list=arr.entries();
console.log(list.next().value);
console.log(list.next().value);

结果为:

ES6新增的数组知识实例小结

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 Javascript
jQuery初学:find()方法及children方法的区别分析
Jan 31 Javascript
javascript代码编写需要注意的7个小细节小结
Sep 21 Javascript
jQuery之折叠面板的深入解析
Jun 19 Javascript
Node.js模拟浏览器文件上传示例
Mar 26 Javascript
js操作模态窗口及父子窗口间相互传值示例
Jun 09 Javascript
JS键盘版计算器的制作方法
Dec 03 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
Oct 25 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
Feb 06 Javascript
jQuery 筛选器简单操作示例
Oct 02 jQuery
Vue实现验证码功能
Dec 03 Javascript
jQuery实现弹出层效果
Dec 10 jQuery
ES6扩展运算符和rest运算符用法实例分析
May 23 #Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 #Javascript
JavaScript组合模式---引入案例分析
May 23 #Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
May 23 #Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
May 23 #Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
May 23 #Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
May 22 #Javascript
You might like
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
详解Django的CSRF认证实现
2018/10/09 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
毕业生的求职信范文分享
2013/12/04 职场文书
单位未婚证明范本
2014/01/18 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
师范生见习报告范文
2014/11/03 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
起诉书范文
2015/05/20 职场文书
博士论文答辩开场白
2015/06/01 职场文书
致青春观后感
2015/06/09 职场文书
企业催款函范本
2015/06/24 职场文书
2016七夕情人节感言
2015/12/09 职场文书
八年级语文教学反思
2016/03/03 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
python实现进度条的多种实现
2021/04/29 Python
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python