js中数组操作方法整理
Posted two-fish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中数组操作方法整理相关的知识,希望对你有一定的参考价值。
1. join()
功能:将数组中所有元素都转化为字符串并连接在一起。
2. reverse()
功能:将数组中的元素颠倒顺序。
3. concat()
功能:数组拼接的功能 ,返回新数组,原数组不受影响。
4. slice()
截取数组生成新数组,原数组不受影响。
返回的数组包含第一个参数指定的位置和所有到但不含第二个参数指定位置之间的所有元素。如果为负数,表示相对于数组中最后一个元素的位置。如果只有一个参数,表示到数组末尾。
5. splice()
功能:从数组中删除元素、插入元素到数组中或者同时完成这两种操作。
输入:第一个参数为指定插入或删除的起始位置,第二个参数为要删除的个数。之后的参数表示需要插入到数组中的元素 。如果只有一个参数,默认删除参数后边的所有元素。
输出:返回一个由删除元素组成的数组。
注意:新建了一个数组,并修改了原数组
6. push()
在数组末尾添加一个或多个元素,并返回新数组长度
7. pop()
从数组末尾删除1个元素(删且只删除1个), 并返回 被删除的元素
8. shift()
在数组开始添加一个或多个元素,并返回新数组长度
9. unshift()
在数组开始删除一个元素(删且只删除1个),并返回 被删除的元素
10. toString()和toLocaleString()
将数组的每个元素转化为字符串,并且输入用逗号分隔的字符串列表。功能类似join();
11. indexOf()和lastIndexOf()
indexOf() 两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。没找到返回-1. 返回查找项的索引值
lastIndexOf() 从数组的末尾开始向前查找。返回查找项的索引值(索引值永远是正序的索引值),没找到返回-1
在数学中高阶函数听起来很大上,javascript中也有的,其实就是把一个函数作为另一个函数的参数,不要被高阶吓到了,下边几种数组方法都属于此。
sort();
默认情况下sort()方法没有传比较函数的话,默认按字母升序,如果不是元素不是字符串的话,会调用toString()方法将元素转化为字符串的Unicode(万国码)位点,然后再比较字符。所以用默认方法排序数据是有问题的。
var arr = [20,10,2,1,3];
arr.sort();// [1, 10, 2, 20, 3]
arr.sort(function(a,b){
return a-b; //升序
}); //[1, 2, 3, 10, 20]
arr.sort(function(a,b){
return b-a; //降序
}); //[20,10,3,2,1]
forEach()
从头至尾遍历数组,为每个元素调用指定函数输入为一个待遍历函数,函数的参数依次为:数组元素、元素的索引、数组本身
map()
调用的数组的每一个元素传递给指定的函数,并返回一个新数组 ,不修改原数组。var arr = [2,3,4,5,6];
var bb= arr.map(function(x){
return x*x;
});
console.log(bb); // [4, 9, 16, 25, 36]
filter()
过滤功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。可以巧妙的用来去重
var a = [1,2,3,4,5,6,3,1];
a.filter(function(v,i,self){
return self.indexOf(v) == i;
});
//[1, 2, 3, 4, 5, 6]
reduce()和reduceRight()
reduce() 两个参数:函数和递归的初始值。从数组的第一项开始,逐个遍历到最后reduceRight() 从数组的最后一项开始,向前遍历到第一项
以上是关于js中数组操作方法整理的主要内容,如果未能解决你的问题,请参考以下文章