Array()数组操作

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 }















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章