concat
>>连接2个或更多数组,并返回结果
var arr1 = [1,2,3];
var arr2 = [-1,-2,-3];
console.log(arr1.concat(arr2)); 输出结果:[ 1, 2, 3, -1, -2, -3 ]
every
>>对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
var arrAge = [32, 33, 16, 40];
var result = arrAge.every(function(value){ return value > 15; });
console.log(result); 输出结果:true
var arrAge = [32, 33, 16, 40];
var result = arrAge.every(function(value){ return value > 18; });
console.log(result); 输出结果:false
filter
>>对数组中的每一项运行给定函数,返回该函数会返回true的项组成新的数组
var arrAge = [32, 33, 16, 40];
var result = arrAge.filter(function(value){ return value > 30; });
console.log(result); 输出结果:[32, 33, 40]
forEach
>>对数组中的每一项运行给定函数,这个方法没有返回值
var arrAge = [32, 33, 16, 40];
var result = arrAge.forEach(function(value){
console.log(value);
}); 输出结果:32
输出结果:33
输出结果:16
输出结果:40
join
>>将所有的数组元素连接成一个字符串
var arrAge = [32, 33, 16, 40];
console.log(arrAge.join(',')); 输出结果:32,33,16,40
indexOf
>>返回第一个与给定参数相等的数组元素的索引,没有找到则返回-1
var arrAge = [32, 33, 16, 40];
console.log(arrAge.indexOf(16)); 输出结果:2
lastIndexOf
>>返回在数组中搜索到的与给定参数相等的元素的索引里的最大值
var arrAge = [32, 33, 16, 16, 40];
console.log(arrAge.lastIndexOf(16)); 输出结果:3
map
>>对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
var arrAge = [32, 33, 16, 40];
var result = arrAge.map(function(value){ return value / 2; });
console.log(result); 输出结果:[16, 16.5, 8,20]
reverse
>>颠倒数组中元素的顺序,原先第一个元素现在变成最后一个,同样原先的最后一个元素变成了第一个
var arrAge = [32, 33, 16, 40];
console.log(arrAge.reverse()); 输出结果:[40,16,33,32]
slice
>>传入所引致,将数组里对应索引范围内的元素作为新数组返回
var arrAge = [32, 33, 16, 40];
console.log(arrAge.slice(1,3)); 输出结果:[33,16] var arrAge = [32, 33, 16, 40];
console.log(arrAge.slice(1)); 输出结果:[33,16,40]
some
>>对数组中的每一项运行给定函数,如果任意一项true,则返回true
var arrAge = [32, 33, 16, 40];
var result = arrAge.some(function(value){ return value > 32; });
console.log(result); 输出结果:true var arrAge = [32, 33, 16, 40];
var result = arrAge.some(function(value){ return value > 41; });
console.log(result); 输出结果:false
sort
>>按照字母顺序对数组进行排队,也支持传入指定排序方法的函数作为参数
array.sort()方法默认是升序排序,如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值
>>普通升序
var arr = [8,6,7,4,5,1,2,3];
arr.sort();
console.log(arr);
输出结果:[1,2,3,4,5,6,7,8]
>>普通降序
var arr = [8,6,7,4,5,1,2,3];
arr.sort(function(a,b){
return b - a ;
});
console.log(arr); 输出结果:[8,7,6,5,4,3,2,1]
toString
>>将数组作为字符串返回
var arr = [8,6,7,4,5,1,2,3];
console.log(arr.toString()); 输出结果:8,6,7,4,5,1,2,3
valueOf
>>和toString类似,将数组作为字符串返回
var arr = [8,6,7,4,5,1,2,3];
console.log(arr.valueOf()); 输出结果:8,6,7,4,5,1,2,3
push
>>往数组的末尾添加元素
var arr = [8,6,7,4,5,1,2,3];
arr.push(11);
console.log(arr); 输出结果:[8,6,7,4,5,1,2,3,11]
unshift
>>往数组的头部添加元素
var arr = [8,6,7,4,5,1,2,3];
arr.unshift(11);
console.log(arr); 输出结果:[11,8,6,7,4,5,1,2,3]
shift
>>删除数组的第一个元素
var arr = [8,6,7,4,5,1,2,3];
arr.shift();
console.log(arr); 输出结果:[6,7,4,5,1,2,3]
pop
>>删除数组的最后一个元素
var arr = [8,6,7,4,5,1,2,3];
arr.pop();
console.log(arr); 输出结果:[8,6,7,4,5,1,2]
splice
>>删除数组的指定索引元素
var arr = [8,6,7,4,5,1,2,3];
arr.splice(2,3);//删除索引2开始的3三个元素
console.log(arr); 输出结果:[8,6,1,2,3]
var arr = [8,6,7,4,5,1,2,3];
arr.splice(2,0,6,6,6);//索引2插入6,6,6(插入数据,第二个参数要为0)
console.log(arr); 输出结果:[8,6,6,6,6,7,4,5,1,2,3]
var arr = [8,6,7,4,5,1,2,3];
arr.splice(2,3,6,6,6);//索引2开始删除3个元素,但也插入3个元素
console.log(arr); 输出结果:[8,6,6,6,6,1,2,3]