数组对象常用api
1.concat(连接两个或多个数组,并返回结果)
var a = [1,2,3];
var b = a.concat(6,7);
console.log(b); //[1,2,3,6,7]
2.join(把数组的所有元素用str分隔,默认逗号分隔)
var a = [1,2,3]
var b = a.join('|');
console.log(a); //[1,2,3]
console.log(b); //"1|2|3"
3.pop(删除并返回数组的最后一个元素的值)
var a = [1,2,3];
var b = a.pop();
console.log(a); //[1,2]
console.log(b); //3
4.reverse(反转数组中元素的顺序)
var a = [1,2,3,4,5];
var b = a.reverse();
console.log(a); //[5,4,3,2,1]
console.log(b); //[5,4,3,2,1]
5.shift(删除并返回数组的第一个元素)
var a = [1,2,3];
var b = a.shift();
console.log(a); //[2,3]
console.log(b); //1
6.slice(start,end)(从已有的数组中返回选定的元素)
var a = [1,2,3,4,5];
var b = a.slice(0,-1);
var c = a.slice(1,3);
var d = a.slice(1);
var e = a.slice(2,-2);
var f = a.slice(3,1);
console.log(a); //[1,2,3,4,5]
console.log(b); //[1,2,3,4]
console.log(c); //[2,3]
console.log(d); //[2,3,4,5]
console.log(e); //[3]
console.log(f); //[]
7.splice(start,deleteCount,val1,val2,···)(从一个数组中移除一个或多个元素,并在该位置插入新元素,返回所移除的元素)
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8);
console.log(a); //[1,2,7,8,5]
console.log(b); //[3,4]
8.toString(将数组的元素转换为字符串,并用逗号分隔,且连接起来)
var a = [1,2,3,4,5];
var b = a.toString();
console.log(a); //[1,2,3,4,5]
console.log(b); //"1,2,3,4,5"
9.indexOf(返回某个指定的字符串值在字符串中首次出现的位置,存在即返回所在位置,不存在则返回-1)
var arr=[1,3,2];
var num=arr.indexOf(3);
console.log(num); //1
console.log(arr); //[1,3,2]
reduce():从数组中的第一项开始,逐个遍历到最后。
reduceRight():从数组的最后一项开始,向前遍历到第一项
10.reduce(从数组中的第一项开始,逐个遍历到最后)------很重要–可以详细了解
var arr=[1,2,3,4,5];
var sumReduce=arr.reduce(function(prev,cur,index,array){
//接受四个参数:初始值(上一次回调的返回值),当前元素值,当前索引,原数组
return prev+cur
});
console.log(sumReduce); //15
11.reduceRight(从数组的最后一项开始,向前遍历到第一项)
var arr=[1,2,3,4,5];
var sumReduceRight=arr.reduceRight(function(prev,cur,index,array){
//接受四个参数:初始值(上一次回调的返回值),当前元素值,当前索引,原数组
return prev+cur
});
console.log(sumReduceRight); //15
接受四个参数:初始值(上一次回调的返回值),当前元素值,当前索引,原数组
12.arr.forEach() — 遍历循环
var arr = [1, 2, 3, 4, 5];
arr.forEach(function(item, index){
console.log(item, index);
});
13. arr.map()—返回新数组,return什么就输出什么
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item,index,arr){
return item*item;
});
console.log(arr2); //[1, 4, 9, 16, 25]
14.arr.some()—部分满足条件(判断数组中有没有符合条件的元素,遇到符合条件的就退出循环。只要有一项满足条件,就会返回true。)
// 是否有部分大于2
let a = [1,2,3,4].some(item => {
return item > 2;
});
console.log(a); // true
15.arr.every()—全部满足条件
// 是否全部大于0
let a = [1,2,3,4].every(item => {
return item > 0;
});
console.log(a); // true
16.arr.filter()—条件过滤(反转数组中元素的顺序)
const persons = [
{name: 'Jim', age: 22},
{name: 'Alen', age: 17},
{name: 'Lily', age: 20}
]
let a = persons.filter(person => {
return person.age ==20;
});
console.log(a) // [{name: 'Lily', age: 20}]