数组总结
//检测数值的ES5方法
Array.isArray(value) //检测值是否为数组
//转换方法
toString() //将数组转换为以逗号分隔的字符串
valueOf() //返回值为数组
//栈方法
push() //可以接收任意参数,把他们逐个添加到数组末尾,返回修改后数组的长度
pop() //从数组末尾移除最后一项,返回移除的项
//队列方法
shift() //移除数组的第一项并返回该项
unshift() //向数组开始位置添加内容,返回修改后数组的长度
//数组中实现向末尾添加的三种方法
1.push()方法
2.ary[ary.length] = 'xxx'
3.ary.splice(ary.length, 0, 'xxx')
//数组中实现向末尾删除的三种方法
1.pop()方法
2.ary.length--
3.ary.splice(ary.length - 1, 1) / ary.splice(ary.length - 1)
//数组中实现向开头添加的两种方法
1.unshift()方法
2.ary.splice(0, 0, 'xxx')
//数组中实现向开头删除的两种方法
1.shifit()方法
2.ary.splice(0, 1)
//排序
reverse() //将数组中的元素倒置
sort() //接收两个参数a、b,(a-b) 表示数组升序,(b-a)表示数组降序
//操作方法
concat(原数组,参数1....,参数n) //实现数组的拼接(原数组不变)。返回合并后的新数组
splice(n,m,x) //实现数组的删除、添加、修改。参数n,m都是数字,n代表索引,m代表操作的元素个数,x代表增加或修改的内容。
删除:splice(n, m) //从索引n开始删除m个元素(m不写,删除到末尾)
增加:splice(n, 0, x) //从索引n开始删除0个元素,把x部分放到索引n的前边(x可以放多个内容)
修改:splice(n, m, x) //从索引n开始删除m个元素,用x部分来占用删除的部分(x部分可以放多个内容)
slice(n,m) //实现数组的查询(原数组不变)。参数n,m都是数字,n代表数组索引开始位置,m代表数组索引结束位置(不包含m这一项),返回找到内容的新数组
join() //把数组转换为字符串(原数组不变)。参数为指定的分隔符(字符串格式),不传入参数将用默认的","分隔
//位置方法
indexOf() //检测当前项在数组中第一次在数组中出现位置的索引(原数组不变)
lastIndexOf() //检测当前项在数组中最后一次在数组中出现位置的索引(原数组不变)
//迭代方法:都接收两个参数,一个是在每一项上运行的函数,一个是作用域(可选)
every() //对数组中每一项运行给定函数,如果函数对每一项都返回true,则返回true
every(fn(value, index, array){return ...}, [this])
some() //对数组中每一项运行给定函数,如果函数对任意项都返回true,则返回true
filter() //对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组
forEach() //对数组中每一项运行给定函数,无返回值
map() //对数组中每一项运行给定函数,返回每次函数调用返回结果组成的数组
//归并方法 reduce()和reduceRight(和前者遍历的方向相反),构建一个最终返回的值
reduce(fn(prev, cur, index, array){return ...}, itemValue)
fn返回值会作为第一个参数传递给下一项
itemValue作为归并基础的基础值