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 相关文章推荐
JS重要知识点小结
Nov 06 Javascript
jquery ajax属性async(同步异步)示例
Nov 05 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
Highcharts学习之坐标轴
Aug 02 Javascript
Angular2内置指令NgFor和NgIf详解
Aug 03 Javascript
js select下拉联动 更具级联性!
Apr 17 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
Jan 19 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
Aug 18 Javascript
Vue 实现列表动态添加和删除的两种方法小结
Sep 07 Javascript
element ui分页多选,翻页记忆的实例
Sep 03 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
Sep 20 Javascript
JavaScript语句错误throw、try及catch实例解析
Aug 18 Javascript
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个人网站架设连环讲(二)
2006/10/09 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
用Python写一个自动木马程序
2019/09/17 Python
PyTorch预训练的实现
2019/09/18 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
python 检测图片是否有马赛克
2020/12/01 Python
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
结婚周年感言
2014/02/24 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers