数组函数

96 阅读1分钟

创建数组方式:

var a = [3, 11, 8]; // [3,11,8];
var a = Array(); // [] 
var a = Array(3); // [,,] 
var a = Array(3,11,8); // [ 3,11,8 ]
// ES6 Array.of() 返回由所有参数值组成的数组
let a = Array.of(3, 11, 8); // [3,11,8]
let a = Array.of(3); // [3]
// ES6 Arrary.from() 将两类对象转为真正的数组
// 1. 对象拥有length属性 
let obj = {0: 'a', 1: 'b', 2:'c', length: 3}; 
let arr = Array.from(obj); // ['a','b','c']; 
// 2. 部署了 Iterator接口的数据结构 比如:字符串、Set、NodeList对象
let arr = Array.from('hello'); // ['h','e','l','l','o']
let arr = Array.from(new Set(['a','b'])); // ['a','b']

改变原数组函数:

    let a = [1,2,3]; 
    ES5: a.splice()/ a.sort() / a.pop()/ a.shift()/ a.push()/ a.unshift()/ a.reverse() 
    ES6: a.copyWithin() / a.fill()
    
    splice语法: array.splice(index,howmany,item1,.....,itemX)
    1.  index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
    2.  howmany:可选。要删除的项目数量。如果设置为 0,则不会删除项目。
    3.  item1, ..., itemX: 可选。向数组添加的新项目。

不改变原数组返回一个新的数组的函数:

ES5: slice、join、toLocateString、toStrigin、cancat、indexOf、lastIndexOf、 
ES7: includes 查找数组是否包含某个元素 返回布尔
ES6扩展运算符...合并数组

数组遍历方法

ES5: forEach、everysomefilter、map、reduce、reduceRight、 
ES6: find、findIndex、keys、values、entries

ES6:find()& findIndex() 根据条件找到数组成员

ES6 keys()&values()&entries() 遍历键名、遍历键值、遍历键名+键值