es6数组的扩展
数组的扩展
扩展运算符(...):转换数组为用逗号分隔的参数序列([...arr],相当于rest/spread参数的逆运算)
Array.from():转换具有Iterator接口的数据结构为真正数组,返回新数组
- 类数组对象:包含length的对象、Arguments对象、NodeList对象
- 可遍历对象:String、Set结构、Map结构、Generator函数
Array.of():转换一组值为真正数组,返回新数组
copyWithin():把指定位置的成员复制到其他位置,返回原数组
find():返回第一个符合条件的成员
findIndex():返回第一个符合条件的成员索引值
fill():根据指定值填充整个数组,返回原数组
keys():返回以索引值为遍历器的对象
values():返回以属性值为遍历器的对象
entries():返回以索引值和属性值为遍历器的对象
数组空位:ES6明确将数组空位转为undefined(空位处理规不一,建议避免出现)
扩展运算符(…)应用
二进制表示法:0b或0B开头表示二进制(0bXX或0BXX)
八进制表示法:0o或0O开头表示二进制(0oXX或0OXX)
Number.EPSILON:数值最小精度
Number.MIN_SAFE_INTEGER:最小安全数值(-2^53)
Number.MAX_SAFE_INTEGER:最大安全数值(2^53)
Number.parseInt():返回转换值的整数部分
Number.parseFloat():返回转换值的浮点数部分
Number.isFinite():是否为有限数值
Number.isNaN():是否为NaN
Number.isInteger():是否为整数
Number.isSafeInteger():是否在数值安全范围内
Math.trunc():返回数值整数部分
Math.sign():返回数值类型(正数1、负数-1、零0)
Math.cbrt():返回数值立方根
Math.clz32():返回数值的32位无符号整数形式
Math.imul():返回两个数值相乘
Math.fround():返回数值的32位单精度浮点数形式
Math.hypot():返回所有数值平方和的平方根
Math.expm1():返回e^n - 1
Math.log1p():返回1 + n的自然对数(Math.log(1 + n))
Math.log10():返回以10为底的n的对数
Math.log2():返回以2为底的n的对数
Math.sinh():返回n的双曲正弦
Math.cosh():返回n的双曲余弦
Math.tanh():返回n的双曲正切
Math.asinh():返回n的反双曲正弦
Math.acosh():返回n的反双曲余弦
Math.atanh():返回n的反双曲正切
2019新增
- flat():扁平化数组,返回新数组
- flatMap():映射且扁平化数组,返回新数组(只能展开一层数组)