Array功能分类
1. 特定位置增:push、unshift、concat(arr1, arr2)不改变原数组
2. 特定位置删:pop、shift
3. 任意位置增/删/替换:splice(start, deletecnt, new1, new2)、copyWithin(target, start, end)数组内替换,不改变长度
4. 查找,返回找到的元素或位置:indexOf只返回找到的第一个、lastIndexOf、find(callback)、findIndex(callback)、filter(callback)
5. 判断:some(callback)、includes、every(callback)
6. 遍历:一一映射map(callback)、forEach(callback)
7. 其它功能
- 填充:fill
- 切片,不包括endIndex:slice(startIndex, endIndex)
- 排序:sort(function(a,b){})
- 反转:reverse
- 合并成一个值,total的类型与第一个元素相同:reduce(callback)、reduceRight(callback)
- 转换成字符串:toString
- 原始值(就是数组):valueOf
8. es6
- copyWithin, find, findIndex, fill, includes(避免NaN误判)
- ...arr/str: arr/str转换为序列
- Array.from(类数组):转换成数组
- Array.of(序列):转换成数组,基本上可以用来替代Array()或new Array()
- 返回迭代器:entries, keys, values
- 明确将空位转换为undefined