JavaScript常用Array方法大全

forEach 循环遍历

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

  • 循环执行次数等于数组长度,无返回值,回调函数不需要return
  • 相当于for循环的另外一种写法
let arr = [18, 20, 35, 66, 87, 90, -100, -20];
         let res = arr.forEach((item,index)=>{
             console.log(item);
         });
         console.log(res);//undefined

map 映射

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

  • 对数组中的每一项运行给定函数,按照原始数组元素顺序依次处理元素,返回每次函数调用的结果组成的数组
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
return item*item;
});
console.log(arr2); //[1, 4, 9, 16, 25]

concat 合并数组

Array.concat()合并两个或多个数组,不更改现有数组,返回一个新数组

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);

console.log(array3);
// 最终打印 Array ["a", "b", "c", "d", "e", "f"]

every 是否所有元素符合条件

Array.every()测试数组中所有元素是否符合指定条件,返回布尔值,若使用空数组测试,一切情况下都会返回true

  • 如果数组中有一个元素不满足,则整个表达式返回false,剩余元素不会检测
  • 如果所有元素都满足条件,则返回true
arr.every(function(element,index,array){函数测试})

[12, 5, 8, 130, 44].every(function(element,index,aray){
   return element > 4
}); // true

some 是否至少有一个元素符合条件

测试数组中是不是至少有1个元素通过函数测试,返回一个布尔值,若使用空数组测试,任何情况下都会返回false

  • 如果有一个元素满足条件,则表达式返回true,剩下的元素不会再执行检测
  • 如果没有满足的元素,则返回false
[12, 5, 8, 130, 44].some((element,index,array)=>{
   return element > 12
}); // true 

filter 过滤,返回符合条件的元素

Array.filter()创建新数组,新数组中的所有元素都通过函数测试

  • 不会对空数组进行检测,若是空数组,返回的还是空数组
  • 不会改变原始数组
[12, 5, 8, 130, 44].filter((element,index,array)=>{
   return element > 12
}); // [130,44]

find 返回符合条件的第一个元素

Array.find()返回数组中满足测试函数的第一个元素的值,否则返回undefined

[12, 5, 8, 19, 21].find((element,index,array)=>{
   return element > 19
}); // 12

findIndex 返回符合条件的第一个元素的索引

Array.findIndex()返回数组中满足测试函数的第一个元素的索引,若没有找到对应的元素则返回-1

[12, 5, 8, 19, 44].findIndex((element,index,array)=>{
   return element > 18
}); // 3

indexOf 返回指定元素位置

Array.indexOf()返回数组中某个指定元素位置,如果找到则返回第一次出现的位置,没有找到返回-1,如果想查找字符串出现的位置可以使用indexOf

["Banana", "Orange", "Apple", "Mango"].indexOf("Mango"); // 3

sort 数组排序

Array.sort()对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的

let a = [1,2,3,4,5]
a.sort((a,b)=>{return b-a }); // [5, 4, 3, 2, 1]


let b = ['f','e','d','c','b','a']
const res = b.sort(); // ["a", "b", "c", "d", "e", "f"]

includes 判断数组中是否包含一个指定的值

Array.includes(ele,index)判断数组是否包含一个指定的值,如果是则返回true,否则false

  • ele:查找的元素值(必选)
  • fromIndex:从索引处开始查找(可选)如果为负值,则按升序arrary.length+index开始
[12, 30, 8, 19, 44].includes(44,2); // true
[12, 44, 8, 19, 10].includes(44,2); // false
[12, 44, 8, 19, 10].includes(44,-4); // true

join 将数组中元素拼接成一个字符串

Array.join(separator)将数组或类数组的所有元素拼接成一个字符串

  • separatorke可选参数,指定使用的分割符,如果省略,则用逗号分割,也可以为空字符串
["A", "p", "p", "l","e"].join(); // "A,p,p,l,e"
["a", "p", "p", "l","e"].join(""); // "Apple"
["A", "p", "p", "l","e"].join("-"); // "A-p-p-l-e"

splice 添加删除数组中的元素

Array.splice(index,howmany,item1…item2)添加,删除或替换数组的元素,会改变原始数组

  • index规定从何处添加、删除元素,开始插入或删除的数组元素下标,必须数字
  • howmany 规定删除多少元素,必须数字,但可以是“0”,如果设置为 0,则不会删除项目,未规定则从index开始后面的全删
  • item1…item2 添加到数组的新元素
const array = ["A", "p", "p", "l","y"];
array.splice(2, 1, 'y'); // ["A", "p", "y", "l", "y"];
array.splice(1, 3, 'i'); // ["A", "i", "y"]

toString 将数组转换成字符串

Array.toString()将数组转换成字符串,并返回结果,所有值用逗号隔开

[1,'a',88,'i'].toString(); // 返回结果 "1,a,88,i"

unshift 添加数据到数组头部

Array.unshift()将一个或者多个元素添加到数组的开头,并返回数据的新长度。(会修改原数组)

let a = [1,2,3,4,5]

console.log(a.unshift(8,9,10,11,12)); // 返回数组新长度 10
console.log(a); // [6, 7, 8, 9, 10, 1, 2, 3, 4, 5]

shift 删除数组中第一个元素

Array.shift()从数组中删除第一个元素,并返回该元素的值。(会更改数据长度)

let a = [1,2,3,4,5]
a.shift(); // [2, 3, 4, 5]

push 从数组的末尾添加元素

Array.push()将一个或多个元素添加到数组的末尾,并返回该数组的新长度

let a = [1,2,3,4,5]
console.log(a.push(6,7,8,9,10)); // 返回新长度 10
console.log(a); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

pop 删除数组中最后一个元素

Array.pop()从数组中删除最后一个元素,并返回该元素的值。(会更改数据长度)

let a = [1,2,3,4,5]
console.log(a.pop()); // 5
console.log(a); // [1, 2, 3, 4]

reverse 数组反转

Array.reverse()将数组元素位置颠倒,并返回该数组,数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。

let a = [1,2,3,4,5]
console.log(a); // [5, 4, 3, 2, 1]
© 版权声明
THE END
喜欢就支持以下吧
点赞0赞赏
分享
评论 抢沙发