创建一个新数组,其包含通过所提供函数实现的测试的所有元素(其实也就是按回调函数传入的条件对数组进行过滤)
var ageArr = [32, 33, 12, 40];
var ageResult = ageArr.filter(item => item >= 30 ) // [32, 33, 40]
2.Array.prototype.foreach(item, index, array);
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
var arr = [1, 2, 3];
arr.forEach( (item, index, array) =>{
console.log( "item: " + item + "; index: " + index + " ; array: " + array + "\n")
} );
//item: 1; index: 0 ; array: 1,2,3
//item: 2; index: 1 ; array: 1,2,3
//item: 3; index: 2 ; array: 1,2,3
3.Array.prototype.map()
返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
var arr = [1, "ss", true];
arr.map( x => x + 2 ); // [3, "ss2", 3]
4.Array.prototype.some()
测试数组中的某些元素是否通过由提供的函数实现的测试。其实就是看数组里面有没有元素满足这个条件,只要有一个满足就返回true
var arr = [1, 2, 66, 88];
arr.some( value => value > 50 ); // 66大于50,找到一个满足条件的 返回 true
arr.some( value => value > 90 ); // 没有任何元素大于90,返回 false
5.Array.prototype.every()
测试数组的所有元素是否都通过了指定函数的检测。
var arr = [55, 66, 77, 88];
arr.every( value => (value > 40) ); //true
arr.every( value => (value < 40 )); //false
6.Array.prototype.indexOf(index, start)
该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为0。如果在数组中没找到指定元素则返回 -1。
var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
var a = fruits.indexOf("Apple",4); // 6
7.Array.prototype.includes()
判断一个数组是否包含一个指定的值
var arr = [55, 66, 77, 88];
arr.includes(66); //true
arr.includes(20); //false
8.Array.prototype.find() 和 Array.prototype.findIndex()
find()返回数组中满足提供的函数的第一个元素的值,不存在则返回undefined。
var arr = [55, 66, 77, 88];
arr.find( x=> ( x > 60 ) ); //66
findIndex()返回数组中满足提供的函数的第一个元素的下标值, 不存在则返回 -1。
var arr = [55, 66, 77, 88];
arr.findIndex( x=> ( x > 60 ) ); //1
9.Array.prototype.join()
将一个数组(或类数组)的所有元素连成一个字符串,默认以 ”,“连接
var arr = ['我', '累', '了'];
arr.join(); //我,累,了
arr.join(''); //我累了
10.Array.prototype.reverse()
数组数据倒置
var arr = ['了', '累', '我'];
arr.reverse(); //我,累,了
11.Array.prototype.sort()
数组排序
var arr = [1, 2, 5, 9, 3];
arr.sort((a,b) => a-b); //升序 [1, 2, 3, 5, 9]
12.Array.prototype.slice()
从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组。
var arr = [1, 2, 5, 9, 3, {obj: '11'}];
arr.slice(3); // [9, 3, {obj: '11'}]
arr.slice(6); // []
13.Array.prototype.push()
在数组末尾加入一个元素。
var arr = [1, 2, 5, 9];
arr.push(3); //返回的是数组的长度 5
console.log(arr) // [1, 2, 5, 9, 3]
14.Array.prototype.pop()
从数组中删除最后一个元素,并返回该元素的值。
var arr = [1, 2, 5, 9];
arr.pop(); //3
console.log(arr) // [1, 2, 5]
15.Array.prototype.shift()
删除数组第一个元素并返回此元素。
var arr = [1, 2, 5, 9];
arr.shift(); // 1
console.log(arr) // [ 2, 5, 9]
16.Array.prototype.unshift()
将1到n个元素添加到数组的开头。
var arr = [1, 2, 5, 9];
arr.unshift(2, 2 ,2); // 7
console.log(arr) // [2, 2 ,2, 1, 2, 5, 9]
17.Array.isArray()
判断传入的参数是否是数组。
Array.isArray([1, 2, 3]); //true
Array.isArray('后悔'); //false
18.Array.from()
从一个类数组或可迭代对象中创建一个新的数组实例。
Array.from('我累了'); // ['我', '累', '了']
Array.isArray([2, 5, 7], x => x + x); // [4, 10, 14]