一般理解: 数组是按次序排列的一组值
高级理解: 用Array构造出来的一个对象
- 数组和对象的主要区别就是有没有: Array.prototype,只是原型链不同的对象
- 伪数组的原型链中没有 Array.prototype,就是伪数组。(例子: arguments)
concat,会返回一个新的数组
- 这里就有一个应用,复制:
var b = a.concat([])
forEach 没有返回值,而map是有返回值的,创建一个新的数组(映射)(map比较好,不会对原来数据造成影响)
reduce最厉害
- map 可以用 reduce 来表示
a = [1,2,3]
a.reduce((arr, n) => {
arr.push(n*2)
}, [])
- filter 可以用 reduce 来表示
a.reduce((arr, n) => {
if(n % 2 === 0){
arr.push(n)
}
return arr
}, [])
网友评论