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 相关文章推荐
『jQuery』.html(),.text()和.val()的概述及使用
Apr 22 Javascript
JS、CSS加载中的小问题探讨
Nov 26 Javascript
js中typeof的用法汇总
Dec 12 Javascript
在JS中解析HTML字符串示例代码
Apr 16 Javascript
浅谈angularJS 作用域
Jul 05 Javascript
JavaScript中eval函数的问题
Jan 31 Javascript
使用Javascript实现选择下拉菜单互移并排序
Feb 23 Javascript
AngularJS ng-bind-html 指令详解及实例代码
Jul 30 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 Javascript
ant-design-vue按需加载的坑的解决
May 14 Javascript
JavaScript缓动动画函数的封装方法
Nov 25 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
Nov 26 Vue.js
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 遍历XP文件夹下所有文件
2008/11/27 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
python 动态加载的实现方法
2017/12/22 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
一句话工作感言
2014/03/01 职场文书
应届生面试求职信
2014/07/02 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
python爬取某网站原图作为壁纸
2021/06/02 Python
python中如何对多变量连续赋值
2021/06/03 Python
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL