es6学习(二)---数组操作

ES6中新增的数组知识

  • JSON数组格式转换
    JSON的数组格式就是为了前端快速的把JSON转换成数组的一种格式
    Array.from()
let  json = {
    '0': 'hello',
    '1': 'world',
    '2': '????',
    length:3
}

这就是一个标准的JSON数组格式,跟普通的JSON对比是在最后多了一个length属性。只要是这种特殊的json格式都可以轻松使用ES6的语法转变成数组。在ES6中绝大部分的Array操作都存在于Array对象里。我们就用Array.from(xxx)来进行转换。

let  json = {
    '0': 'hello',
    '1': 'world',
    '2': '????',
    length:3
}
let arr=Array.from(json);
console.log(arr)
//["hello", "world", "????"]

实际开发中这种方法还是比较常用的,毕竟节省了我们代码行数,也让我们的程序更清晰。

  • Array.of()方法

它负责把一堆文本或者变量转换成数组。在开发中我们经常拿到了一个类似数组的字符串,需要使用eval来进行转换,如果你一个老手程序员都知道eval的效率是很低的,它会拖慢我们的程序。这时候我们就可以使用Array.of方法。我们看下边的代码把一堆数字转换成数组并打印在控制台上:

let arr =Array.of(3,4,5,6);
console.log(arr);
//[3, 4, 5, 6]
let arr =Array.of('hello','world');
console.log(arr);
//["hello", "world"]
  • find( )实例方法
    所谓的实例方法就是并不是以Array对象开始的,而是必须有一个已经存在的数组,然后使用的方法,这就是实例方法(不理解请看下边的代码,再和上边的代码进行比对,你会有所顿悟)。这里的find方法是从数组中查找。在find方法中我们需要传入一个匿名函数,函数需要传入三个参数:
    1.value:表示当前查找的值。
    2.index:表示当前查找的数组索引。
    3.arr:表示当前数组。

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

let arr=[1,2,3,4,5,6,7,8,9];
console.log(arr.find(function(value,index,arr){
    return value > 5;
}))
//6
  • 数组的遍历
  1. for…of循环:
    这种形式比ES5的for循环要简单而且高效。
let arr=['hello','world']
 
for (let item of arr){
    console.log(item);
}
//hello
//world

for…of数组索引:有时候开发中是需要数组的索引的,那我们可以使用下面的代码输出数组索引。

let arr=['hello','world']
for (let index of arr.keys()){
    console.log(index);
}
//0
//1

同时输出数组的内容和索引:我们用entries()这个实例方法,配合我们的for…of循环就可以同时输出内容和索引了。

let arr=['hello','world']
for (let [index,val] of arr.entries()){
    console.log(index+':'+val);
}
//0:hello
//1:world

2.entries( )实例方法:
entries()实例方式生成的是Iterator形式的数组,那这种形式的好处就是可以让我们在需要时用next()手动跳转到下一个值。可以控制输出,输出key和value组成的数组

let arr=['hello','world']
let list=arr.entries();
console.log(list.next().value);
console.log(list.next().value);
//[0, "hello"] 
//[1, "world"]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • Ruby 数组(Array) Ruby 数组是任何对象的有序整数索引集合。数组中的每个元素都与一个索引相关,并可通...
    黑夜的眸阅读 1,113评论 0 0
  • 三,字符串扩展 3.1 Unicode表示法 ES6 做出了改进,只要将码点放入大括号,就能正确解读该字符。有了这...
    eastbaby阅读 1,575评论 0 8
  • 近来心情总是不好,起伏不定,没工作天天窝在家里,感觉自己都要生锈了,与外面的世界脱轨,以前不开心的时候吃点好吃的,...
    鹤宇晨阅读 162评论 0 1
  • 我们都知道摄影不是一天就能学会的,需要多看书、摄影网站以及大量的实践积累。很多摄影爱好者接触摄影一段时间后,就会发...
    我们爱拍照阅读 659评论 0 6