JS的数组方法总结

97 阅读4分钟

从是否改变原数组的角度来讲

会改变原数组的方法:
1.pop():删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不 改变数组,并返回 undefined 值。

2.push() :push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组,arrayObject.push(newelement1,newelement2,….,newelementX)

3.reverse():该方法会改变原来的数组,而不会创建新的数组。arrayObject.reverse()

4.shift():数组的第一个元素从其中删除,并返回第一个元素的值,如果数组是空的,那么 shift() 方法将不进行任何操作.

5.sort():对数组的引用。请注意,数组在原数组上进行排序,不生成副本。arrayObject.sort(sortby) (如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下: 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。 若 a 等于 b,则返回 0。 若 a 大于 b,则返回一个大于 0 的值。)

6.splice(): 可删除从index处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。 如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组 arrayObject.splice(index,howmany,item1,…..,itemX)

7.unshift():unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。arrayObject.unshift(newelement1,newelement2,….,newelementX)返回arrayObject 的新长度

不改变原数组:

8.concat():用于连接两个或多个数组,仅会返回被连接数组的一个副本,arrayObject.concat(arrayX,arrayX,……,arrayX)

9.join():返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,arrayObject.join(separator)

10.slice():如果数组是空的arrayObject.slice(start,end)

其他:

11.toSource() 方法表示对象的源代码。 该原始值由 Array 对象派生的所有对象继承。 toSource() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。object.toSource()

12.toString():arrayObject 的字符串表示。返回值与没有参数的 join() 方法返回的字符串相同arrayObject.toString()

13.toLocaleString():把数组转换为本地字符串。arrayObject.toLocaleString()

14.valueOf():valueOf() 方法返回 Array 对象的原始值。 该原始值由 Array 对象派生的所有对象继承。 arrayObject.valueOf()

1.contact

concat() :连接两个或更多的数组,并返回结果。
是否会改变现有数组?

2.join

join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
是否会改变现有数组?
否(数组->字符串,和现有数组没关系)

3.splice

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
是否会改变现有数组?

如何使用此方法?
三个参数,第一个,从何处开始删除。第二个,应该是删除的个数。第三个,删除后是否需要再次添加数组。 由此可见,其实这个函数既可以删除数组中的元素,其实也可以向数组中添加元素。都是通过第二个必填参数来实现的。

4.slice

这个方法是在指定的函数中返回指定的元素。存在两个参数。第一个参数是从何处开始,第二个是从何处结束。 第四个函数和第三个函数我初学经常混淆,记不清。现在想起来,把它俩做一个对比吧。 此函数并不会对数组进行修改操作,而是返回一个新的数组。 这个函数在什么时候使用呢?比如说删除数组中使用。

var c=[1,2,3];
c.slice(0);

这段代码实现了一个数组的拷贝。

摘自https://blog.csdn.net/love07070707/article/details/79888566