1、Array.from(obj, func)
(1)Array.from用于将两类对象转化成真正的数组
- 类似数组的对象
任何有length属性的对象,都可以通过Array.from方法转化为数组 - 可遍历的对象
(2)对于还没有部署该方法的浏览器,可以使用Array.prototype.slice方法替代
const toArray = (() => Array.from ? Array.from : obj => [].slice.call(obj))
(3)func类似于map的作用可对每一项进行操作,返回至新的数组
特殊使用:
当计算字符串长度计算中文长度会计算成两个字符,可以通过将其转化成数组之后,再获取length,从而获取到准确的长度
function countSymbols(string) {
return Array.from(string).length;
}
2、 Array.of()
Array.of方法用于将一组值转换成数组
为了弥补Array()的不足,因为Array()对于参数不同行为会有所差异
Array当只有一个参数时会将该参数当成数组的长度进行处理,返回一个长度为n的,所有项都为空的数组,如:Array(3) [ , , ]
3、copyWithin(target, start = 0, end = this.length)
target表示开始替换数据的位置
start表示开始从该位置粘贴数据
end表示粘贴结束的位置
4、find 和 findIndex
(1)find
找出第一个返回true的成员
(2)findIndex
找出第一个返回true的成员的位置
5、fill(number, start, end)
fill方法表示使用给定值填充数组,number为指定值,start指定开始填充的位置,end指定结束填充的位置。
['a', 'b', 'c'].fill(7) //[7, 7, 7]
6、entries()、keys()、values()
(1)entries()
[
[key0, value0],
[key1, value1],
[key2, value2],
]
(2)keys()
[key0, key1, key2]
(3)values()
[value0, value1, value2]
7、includes()
返回一个布尔值表示数组是否包含指定值
8、对数组空位的处理
空位没有值,并不是undefined,for index in arr返回false
es5对空位的处理很不一致,大多数情况下会忽略空位
es6规定将所有的数组空位处理为undefined
9、数组推导
数组的推导是指在数组中可以使用for … of 或if等直接对数组元素进行运算,es6尚未支持此功能