工作生活

lesson26-基础之数组

2019-07-02  本文已影响0人  陈泽chanzed

一、Array

1. 定义一个Array
2. var a = new Array(3)与var a = new Array(3,3)的区别

new Array(3)生成一个长度为3的空数组,new Array(3,3)生成一个第0项和第一项都是3,长度为2的数组

3. var a = [1, 2, 3] 与 var obj = { 0: 1, 1: 2, 2: 3, length: 3}的区别

a中的__proto__指向 Array.prototype,而obj中的 __proto__ 指向Object.prototype

image.png
4. 伪数组

形如{0:1, 1:2, 2:3, 3:4, length:4},但__proto__不指向Array.prototype的对象。在JS中,已知唯一的一个伪数组是函数参数[arguments]

5.foreach()

a.foreach(function(x,y){}),foreach()接收两个参数,第一个是数组的value,第二个是数组的key

6.sort(),sort是原地排序,会改变原值
7.join()
8.concat()
9.map()

map()会对数组中的每一个元素执行括号内的函数并返回结果。


注:返回的数组中的元素取决于括号内函数的返回值,与原数组的元素没有关系
10.filter()

filter(fn)用括号内的函数对数组内容进行筛选,返回true的留下,false被筛选掉

11.reduce()

a.reduce(functin(prev, curr){ return prev+curr}, 0),reduce()接收两个参数,第一个参数是函数(该函数接收两个参数,第一个参数是上一次运算的结果,第二个参数是当前的数组元素),第二个参数是运算的初始值,即prev的初始值。

二、Function

1. 声明函数

(1) var f = function(){} //具名函数
(2) function(){} //匿名函数
(3) var f = new Function('param1', 'param2',...,'functionBody') //用构造函数来声明

上一篇 下一篇

猜你喜欢

热点阅读