ES6语法:Array、Promise、Async

参考文章

语法

Array

数组,常用map进行遍历

新建

var array = new Array();

或者

var array = ["1111","22222"]

  • array.lenght:数组长度
  • array.isArray:判断一个对象是否是数组

Array.from

这个方法作用是将一个 ArrayLike 对象或者 Iterable 对象转换成一个 Array ,本文只讨论 ArrayLike 对象相关内容。
比如

1
2
3
//把一个字符串转换成数组对象
var Array.from(“qwert”)
//["q","w","e","r","t"]

Array.map

用来将数组转换为另外一个数组

基本用法跟forEach方法类似:

array.map(callback,[ thisObject]);

callback的参数也类似:

1
2
3
4
[].map(function(value, index, array) {
// ...
return Object
});

但是map更多的是用来返回对象
callback需要有return值,return值就相当于foreach运算之后的返回值。所以常用于循环遍历数组,返回对象,也就是react的render方法里,比如以下代码用法:

1
2
3
4
5
6
7
8
var array = ["我","你"]
render(){
return(
array.map((str,index)==>{
<View>{str}</View>
})
)
}

Array.concat()

方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

1
2
3
4
var arr = Array.of(1, 2, 3);
var resArr = arr.concat(4);
arr // [ 1, 2, 3 ]
resArr // [ 1, 2, 3, 4 ]

Array.join()

方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

1
2
3
4
var arr = Array.of(1, 2, 3);
var resStr = arr.join(",");
arr // [ 1, 2, 3 ]
resStr // 1,2,3

Array.pop()

方法用于删除并返回数组的最后一个元素。

1
2
3
4
var arr = Array.of(1, 2, 3);
var resEle = arr.pop();
arr // [ 1, 2 ]
resEle // 3

Array.push()

方法可向数组的末尾添加一个或多个元素,并返回新的长度。

1
2
3
4
var arr = Array.of(1, 2, 3);
var resLen = arr.push('a');
arr // [ 1, 2, 3, 'a' ]
resLen // 4

Array.sort()

方法用于对数组的元素进行排序。

1
2
3
4
5
//按照整数数值比较
var arr = Array.of(3, 11, 8);
var res = arr.sort((a, b) => a - b);
arr // [ 11, 3, 8 ]
res // [ 3, 8, 11 ]

Array.fliter()

使用指定的函数测试所有元素,并返回一个包含所有测试通过的元素的数组。

1
var new_arrary = arr.filter(callback[, thisArg])

callback函数:
用来测试数组每个元素的函数,参数是(element,index,array),返回true表示用过测试,保留,false表示不保留

thisArg:
可选。执行 callback 时的用于 this 的值。

Promise

Promise

1 简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.

2 语法上,promise是一个对象,可以获取异步操作的消息。有三种状态:Pending(进行总),Resolved(已完成),Rejected(已失败)

3 Promise构造函数接受一个函数作为参数。该函数的两个参数是resolve方法和reject方法。

Async

es7新增特性,结合或者Promise使用,表达一个异步操作,内部函数体内。awite function()操作为要等待的操作,类似于c#的yield,之后的awite操作执行完毕,后面的代码段才执行

##