创建数组方式:
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、every 、some、 filter、map、reduce、reduceRight、
ES6: find、findIndex、keys、values、entries
ES6:find()& findIndex() 根据条件找到数组成员
ES6 keys()&values()&entries() 遍历键名、遍历键值、遍历键名+键值