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的为attr添加id title等效果的实现代码
Apr 20 Javascript
使用简洁的jQuery方法实现隔行换色功能
Jan 02 Javascript
js实现登陆遮罩效果的方法
Jul 28 Javascript
jQuery+CSS实现简单切换菜单示例
Jul 27 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 Javascript
Angular 2父子组件之间共享服务通信的实现
Jul 04 Javascript
JS实现移动端按首字母检索城市列表附源码下载
Jul 05 Javascript
JavaScript编写的网页小游戏,很给力
Aug 18 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
Dec 29 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
Jul 31 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
Sep 21 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
第十三节 对象串行化 [13]
2006/10/09 PHP
动易数据转成dedecms的php程序
2007/04/07 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
Python之PyUnit单元测试实例
2014/10/11 Python
python3生成随机数实例
2014/10/20 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
python+opencv识别图片中的圆形
2020/03/25 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
Django 内置权限扩展案例详解
2019/03/04 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
使用C#编写创建一个线程的代码
2013/01/22 面试题
二手书店创业计划书
2014/01/16 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
Python可视化学习之seaborn调色盘
2022/02/24 Python
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python