目录
- Array.push()
- Array.pop()
- Array.unshift()
- Array.shift()
- Array.concat(arr1,arr2…)
- Array.join()
- Array.reverse()
- Array.sort()
- Array.map(function)
- Array.slice(start,end)
- Array.splice(index,howmany,arr1,arr2…)
- Array.forEach(function)
- Array.filter(function)
- Array.every(function)
- Array.some(function)
- Array.reduce(function)
- Array.includes(ele)
- Array.copyWithin(target,start,end)
1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。
var arr=[1,2,3];
arr.push(4,5,6);
console.log(arr);
2. Array.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。
var arr=[1,2,3];
arr.pop();
console.log(arr);
3. Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。
var arr=[1,2,3];
arr.unshift(4,5,6);
console.log(arr);
4. Array.shift(),删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined。原数组改变。
var arr=[1,2,3];
arr.shift();
console.log(arr);
5. Array.concat(arr1,arr2…),合并两个或多个数组,生成一个新的数组。原数组不变。
var arr1=[1,2,3];
var arr2=[4,5,6];
var arr3=[7,8];
arr1=arr1.concat(arr2,arr3);
console.log(arr1);
6. Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。
var arr1=[1,2,3];
console.log(arr1.join('~~'));
7. Array.reverse(),将数组倒序。原数组改变。
var arr1=[1,2,3];
console.log(arr1.reverse());
8. Array.sort(),对数组元素进行排序。按照字符串UniCode码排序,原数组改变。
- 从小到大
var arr1=[5,9,7,1,6,2,3];
console.log(arr1.sort());
- 从大到小
var arr1=[5,9,7,1,6,2,3];
function compare(a,b){
return b-a;
}
console.log(arr1.sort(compare));
- 按照数组对象中的某个值进行排序
var arr=[
{name:"A",age:18},
{name:"B",age:19},
{name:"C",age:6},
{name:"D",age:99}
];
function compare(param) {
return function sortAge(a,b) {
return a[param]-b[param];
}
}
arr.sort(compare("age"))
console.log(arr)
9.Array.map(function),原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。
var arr=[1,2,3,4];
var newNum=arr.map((ele,index)=>{
return arr[index]+ele;
})
console.log(newNum)
10.Array.slice(start,end),从start开始,end之前结束,end是开区间;如果不给end值,从start开始到数组结束。start可以给负值,-1表示数组最后位置,-2表示倒数第二个,以此类推,顾前不顾后。原数组不改变。
var arr=[1,2,3,4,5,6];
console.log(arr.slice(1,4));
11.Array.splice(index,howmany,arr1,arr2…) ,删除元素并添加元素,从index位置开始删除howmany个元素,并将arr1、arr2…数据从index位置依次插入。如果arr1、arr2是数组,那么插入的也是数组而不是数组中的元素。howmany为0时,则不删除元素。原数组改变。
var arr1=[1,2,3,4,5,6];
var arr2=[2,3,4];
var arr3=[5,6];
arr1.splice(2,2,arr2,arr3);
console.log(arr1);
12.Array.forEach(function),用于调用数组的每个元素,并将元素传递给回调函数。原数组不变。(注意该方法和map的区别,若直接打印Array.forEach的返回值,结果为undefined)。
var numbers = [4, 9, 16, 25];
function myFunction(item, index) {
console.log("item:" + item + "__index:" + index);
}
numbers.forEach(myFunction);
console.log("_________________");
for (var i = 0; i < numbers.length; i++) {
console.log("item:" + numbers[i] + "__index:" + i);
}
13.Array.filter(function),过滤数组中,符合条件的元素并返回一个新的数组。
var arr1=[1,2,3,4,5,6];
var newArr=arr1.filter((number,index,arr)=>{
return number>3;
})
console.log(newArr)
14.Array.every(function),对数组中的每一项进行判断,若都符合则返回true,否则返回false。
var arr1=[1,2,3,4,5,6];
var res=arr1.every((number,index,arr)=>{
return number>-1;
})
console.log(res)
15.Array.some(function),对数组中的每一项进行判断,若都不符合则返回false,否则返回true。
var arr1=[1,2,3,4,5,6];
var res=arr1.some((number,index,arr)=>{
return number>15;
})
console.log(res)
16.Array.reduce(function),reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
var arr1=[1,2,3,4,5,6];
var res=arr1.reduce((a,b)=>a+b);
console.log(res)
17.Array.includes(ele),includes方法查找数组是否存在当前元素,返回true/false
var arr=[1,2,3,4,5,6,7,8,8]
console.log(arr.includes(8))
console.log(arr.includes(9))
18.Array.copyWithin(target,start,end),target表示目标索引,start与end表示起止索引,左闭右开,把start到end的元素copy到target开始的索引后面。
var arr=[1,2,3,4,5,6,7,8,8]
arr.copyWithin(3,0,3);
console.log(arr)