1.shift():从集合中把第一个元素删除,并返回这个元素的值
var arr= ["a","b","c","d","e","f"];
var result= arr.shift();
console.log(arr); //["b","c","d","e","f"]
console.log(result);//a
2.unshift():在集合开头添加一个或更多元素,并返回新的长度
var arr= ["a","b","c","d","e","f"];
var result= arr.unshift("add");
console.log(arr); //["add","a","b","c","d","e","f"];
console.log(result);//7
3.push():在集合中添加元素,并返回新的长度
- 从末尾开始插入
var arr= ["a","b","c","d","e","f"];
var result= arr.push("add");
console.log(arr); //["a","b","c","d","e","f","add"];
console.log(result);//7
4.pop():从集合中把最后一个元素删除,并返回这个元素的值
var arr= ["a","b","c","d","e","f"];
var result= arr.pop();
console.log(arr); //["a","b","c","d","e"];
console.log(result);//f
5.splice():splice()主要用途是向当前数组的中间插入项,可以进行删除、插入、替换操作,然后返回被删除的项目
- 删除:两个参数
array.splice(index,howmany)
- index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
- howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目
- 例子
var arr= ["a","b","c","d","e","f"];
var result= arr.splice(1,2);
console.log(arr); //["a","d","e"];
console.log(result);//["b","c"]
- 插入:三个参数
arrayObject.splice(index,howmany,item1,.....,itemX)
- index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
- howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目
- item1....itemx:像数组中插入的元素
- 例子:不删除元素,添加2个元素
var arr= ["a","b","c","d","e","f"];
var result= arr.splice(1,0,"x","y");
console.log(arr); //["a","b","x","y","c","d","e","f"];
console.log(result);//[]
- 替换:替换:向指定位置插入任意数量的项同时删除任意数量的项,插入项数和删除项数可以不同。参数包括两个基本参数(即删除操作中的两个参数类型)和要插入项的参数。(即删除的同时添加)
- 例子:删除1个元素,添加2个元素
var arr= ["a","b","c","d","e","f"];
var result= arr.splice(1,1,"x","y");
console.log(arr); //["a","x","y","c","d","e","f"];
console.log(result);//["b"]
6.slice():基于当前数组中的一个或多个项创建一个新数组。
- slice()方法中可以有一个或者两个参数(代表数组的索引值,0,1,2……)
- 当有1个参数时:返回当前数组中从此参数位置开始到当前数组末尾间所有项
- 当有2个参数时:返回当前数组中两个参数位置间的所有项,但不返回第二个参数位置的项
- 参数也可以为负数,表示从末尾算起,-1代表最后一个,使用方法和正数一样。
- 例子
var arr= ["a","b","c","d","e","f"];
var result1 = arr.slice(2);
var result2= arr.slice(1,4);
var result3= arr.slice(2,-2);
var result4= arr.slice(-3,-1);
console.log(result1 ); //["c","d","e","f"];
console.log(result2 ); //["b","c","d"];
console.log(result3 );//["c","d"]
console.log(result4 );//["d","e"]
7.concat():基于当前数组中所有项创建新数组。
- 先创建数组的一个副本,若是concat()存在参数,将接收到的参数添加到副本的末尾,然后返回新构建的数组;若是没有传递参数,仅仅复制当前数组并返回副本数组。
- 例子
var arr= ["a","b","c","d","e","f"];
var result= arr.concat("x","y");
console.log(arr); //["a","x","y","c","d","e","f"];
console.log(result);//["a","x","y","c","d","e","f","x","y"]
8.reverse
():方法颠倒数组中元素的位置,并返回该数组的引用。
var arr= ["a","b","c","d","e","f"];
var result= arr.reverse();
console.log(arr); //["f", "e", "d", "c", "b", "a"];
console.log(result);//["f", "e", "d", "c", "b", "a"]
9.toString()
返回一个字符串,表示指定的数组及其元素。
var arr= ["a","b","c","d","e","f"];
var result= arr.toString();
console.log(arr); //["a","b","c","d","e","f"];
console.log(result);//a,b,c,d,e,f
10.forEach()
方法对数组的每个元素执行一次提供的函数。
- 为数组中每个元素执行的函数,该函数接收三个参数
- currentValue(当前值):数组中正在处理的当前元素;index(索引):数组中正在处理的当前元素的索引;array:forEach()方法正在操作的数组
array.forEach(callback(currentValue, index, array){
//do something
}, this)
- 例子
var arr= ["a","b","c","d","e","f"];
arr.forEach(function(element) {
console.log(element);
});
arr.forEach( element => console.log(element));
// a
// b
// c
// d
// e
// f
11.map()
方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果
- 语法:
let new_array = arr.map(function callback(currentValue, index, array) { // Return element for new_array }[, thisArg])
- callback:生成新数组元素的函数,使用三个参数:currentValue:
callback
的第一个参数,数组中正在处理的当前元素;index:callback
的第二个参数,数组中正在处理的当前元素的索引;array:callback
的第三个参数,map
方法被调用的数组。 thisArg
可选的。执行callback
函数时 使用的this
值。(一般不使用)
- 例子
var arr= ["a","b","c","d","e","f"];
var result= arr.map( x => x + '1'); //连接符
console.log(arr); //["a","b","c","d","e","f"];
console.log(result);// ["a1", "b1", "c1", "d1", "e1", "f1"]
12.find()
方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined
。
- 语法:arr.find(callback[, thisArg])
- callback:在数组每一项上执行的函数,接收 3 个参数:element:当前遍历到的元素;index:当前遍历到的索引;array:数组本身
- 例子
var arr= [
{name: 'a', index: 1},
{name: 'b', index: 2},
{name: 'c', index: 3}
];
function findB(element) {
return element.name === 'b';
}
var result=arr.find(findB)
console.log(result); // { name: 'b', index: 2 }