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 相关文章推荐
event.srcElement+表格应用
Aug 29 Javascript
JS解密入门之凭直觉解
Jun 25 Javascript
读jQuery之十 事件模块概述
Jun 27 Javascript
js使用正则实现ReplaceAll全部替换的方法
Jul 18 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 Javascript
JS实现的左侧竖向滑动菜单效果代码
Oct 19 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
Jul 21 Javascript
Vue slot用法(小结)
Oct 22 Javascript
微信小程序实现日历功能
Nov 27 Javascript
Layui多选只有最后一个值的解决方法
Sep 02 Javascript
vue之debounce属性被移除及处理详解
Nov 13 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实现无限级分类实现代码(递归方法)
2011/01/01 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
python线性插值解析
2020/07/05 Python
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
迟到早退检讨书
2014/02/10 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python