首页 > 编程语言 > 详细

数组方法

时间:2019-11-11 20:23:54      阅读:77      评论:0      收藏:0      [点我收藏+]
  1. concat()

合并数组。0个或多个参数。返回值 返回新的数组。(数组中的方法有浅拷贝也有深拷贝)

浅拷贝:返回的新的数组,发生改变会影响原来数组的数组,这叫浅拷贝。

深拷贝:返回的新的数组发生改变,原来的数组不会跟着改变,这叫深拷贝。

2.constructor()

构造器

指向对象的父类

3.copywithin()

4.entries() keys() values()

    

5.every()

检测数组中的元素是否满足某个条件,都满足返回true,只要一个返回不满足返回就是false

参数 第一个是回调函数 第二个是数值对象(改变函数中this指向)

返回值是truefalse

 

6.fill()

使用一个固定词来填充数组 用一个固定的值来替换数组中的元素

参数 三个参数 第一个是固定值(必填项) 第二个是开始替换的起始位置 第三个是替换的结束位置

返回值 返回替换后的新的数组

不可以拷贝功能

 

7.filter()

对数组中的元素过滤,将符合条件的元素保留,并返回构成一个新的数组。

参数 第一个参数是回调函数 第二个参数是数值对象(用来修改函数中的this指向) 返回值是过滤后的新数组

深拷贝

 

8.find()

返回符合某个条件的数组元素

用法和7 filter一样

9.findIndex()

返回第一个符合条件的数组元素的索引值。

用法和find一样就是返回值不一样

 

10.flat()

将多维数组拉平变成一维数组

参数 默认值是1最多只能拉平二维数组,值2最多拉平三维数组,不管嵌套多少层,都拉平,使用关键字infinity

返回值

 

11.flatMap()

先对原数组执行map然后再对数组执行flat

参数 回调偶数

返回值

 

12.forEach()

    数组中的每个元素都执行一次回调函数,没有返回值,可以改变原数组。

    参数第一个是回调函数 第二个是数值对象(可省略)

没有返回值

浅拷贝

for循环原理一样

 

第二个参数可以用来修改函数中的this

13.includes() 这是es7新增的方法

判断一个数组是否包含一个指定的值

参数 第一个参数是必填的 第二个参数是查找的起始位置(默认为0 如果是负数,用数组的length+这个负数得到的数字就是起始查找位置)

返回值 truefalse

 

14.indeixof()

查找数字在数组中出现的位置

参数 第一个参数必填 就是查找的元素 第二个就是查找的起始位置

返回值 找到返回索引 没有找到返回-1

 

15.join()

将数组中的所有元素放入一个字符串

参数 一个分隔符 默认是逗号

 

16.keys()

17.lastIndexOf()

    indexOf一样,但它是从右向左,都是首次

18.map()

通过函数处理数组中的每个元素,并返回处理后的数组,不影响数组。

两个参数第一个是一个函数,第二个是元素值(可忽略)

    函数的参数 有三个 第一个是当前元素 第二个是当前元素的索引 第三个省略。

返回的是处理后的新的数组

深拷贝

 

Map第二个参数的作用

1.省略或者填nullundefined,函数类的thiswindow

2.

Var a 将变量存在内存中,有变量提升有作用域。也相当于给window加了个a属性

 a 只相当于给window加了一个a属性

19.pop()

在数组的结尾处删除数组中最后一个元素

参数 没有参数

返回值 被删除的那个元素

 

20.Push()

在数组的结尾处添加一个新的元素

参数0个或多个 就是新元素

返回值 添加元素后新数组的长度

 

21.Reduce()

将数组元素计算作为一个值,一般用于迭代

参数 第一个参数是回调函数 第二个参数是初始值(可选)

返回值 就是最后一次执行返回的结果

 

22.Reverse()

反转数组

参数

返回值 反转后的新数组

 

23.reduceRight()

    reverse的用法一致,从右往左迭(die)代,

24.shift()

删除数组第一个元素

参数 没参数

返回值 删除的那个元素

 

25.slice()

截取数组

参数 2个参数number 起始位置 结束位置

返回值 截取后的新的数组

深拷贝

 

26.some()

判断数组中的元素是否有符合条件,只要有符合的返回就是true,都不符合返回是false

参数 第一个是回调函数 第二个是数值对象(改变函数中this的指向)

 

27.sort()

排序 靠字母和数字的先后顺序

参数

返回值

 

28.splice()

从数组中添加或删除或更改数组中的元素

参数 第一个参数起始位置 第二个删除个数 第三类是添加的新元素

返回值 返回删除的元素所构成的新数组

没有拷贝的功能

 

29.toLocaleString()

30.toString()

将数组转换为字符串

参数 没有参数

返回值 转换后的字符串

 

31.unshift()

在数组前面添加新元素

参数0个或多个元素

返回值 新数组的长度

 

32.values()

33.isArray() 它是Array这个类上的方法

判断一个对象是不是数组

参数 1

返回值 truefalse

 

34.from() 他说Array类上面的方法

将两类对象变成真数组,一是伪数组,一是可遍历的对象。

伪数组,函数的参数arguments获取的dom集合

参数 伪数组

返回值 改变后的真数组

 

数组中具有拷贝功能的方法

  1. concat slice map filter

 

函数中this的指向问题?

    1.函数调用前面没有. Fn() 看函数处在谁的作用域下函数就指向谁,一般都是window

2.函数调用前面带. .前面的对象是谁,就指向谁。

3.只要是定时器里面的this,不管函数前面带不带点,都指向window

    a)是因为定时器会单独开辟一个线程,跟之前的线程没有关系。

This的特例

Call()

    1.call前面的哪个对象必须是函数。

    2.两类参数,第一类是替换前面函数中this的一个对象 第二类是fn()的形参。

    Fn.call(obj) fn函数中的this替换成obj然后执行fn()

Apply()

    1.apply前面的哪个对象必须是函数。

    2.两个参数 第一个是替换fnthis的对象,第二个是数组,是fn实参构成的数组。

    3.如果第一个参数不传nullundefined,不改变this

案例 找出数组中的最小值?

 

Bind() 典型的科里化函数代表。

    1.bind前面的哪个对象必须是函数。

    2.fn.bind(obj)只替换fn中的this但是不执行fn

数组方法

原文:https://www.cnblogs.com/sapx/p/11837927.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!