find()方法
find()方法返回第一个满足过滤方法的元素,一个都没有满足的就返回undefined,遇到一个满足的元素后遍历就停止了
这个方法支持的浏览器太少,慎用参数
在数组每一项上执行的函数,接收 3 个参数:
element
当前遍历到的元素。
index
可选 当前遍历到的索引。
array
可选 数组本身。返回值
数组中第一个满足所提供测试函数的元素的值,否则返回 undefined。
const inventory = [
{name: 'apples', quantity: 2},
{name: 'bananas', quantity: 0},
{name: 'cherries', quantity: 5}
];
function findCherries(fruit) {
return fruit.name === 'cherries';
}
console.log(inventory.find(findCherries)); // { name: 'cherries', quantity: 5 }
map()方法
map()
方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。参数
value
遍历的数组内容
index
可选 对应的数组索引
array
可选 数组本身
let array = [1,2,3,4,5,]
let newArray =array.map(x => x* 2 )
console.log(newArray); // [2, 4, 6, 8, 10]
reduce() 方法
reduce()
方法对数组中每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组) initialValue (作为第一次调用 callback 的第一个参数。)
let arr = [1, 2, 3, 4, 5];
let sum = arr.reduce((x,y)=>x+y)
let mul = arr.reduce((x,y)=>x*y)
console.log( sum ); //求和,15
console.log( mul ); //求乘积,120
pop()方法
pop()
从数组中删除最后一个元素,并返回该元素的值。
let arr = [1, 2, 3];
let re = arr.pop();
console.log(re);//3
push()方法
push()
方法将一个或多个元素添加到汇总的详细信息中,并返回该数组的新长度。
let arr = [1, 2, 3];
let re = arr.push(4, 5, 6, 'a', 'b', 'c');
console.log(re); //9
splice()方法
splice()
可以通过删除或替换现有元素或原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
let arr = [1, 2, 3];
let re = arr.splice(1, 1, 'aaa');
console.log(re); //[2]
shift()方法
shift()
从数组中删除第一个元素,并返回该元素的值。
let arr = [1, 2, 3];
let re = arr.shift()
console.log(re); //1
unshift()方法
unshift()
将方法或一个元素多个添加到数组的开头和结尾,报道查看并该数组的新长度(该方法修改原有数组)。
let arr = [1, 2, 3];
let re = arr.unshift('a', 'b', 'c');
console.log(re); //6
concat()方法
concat()
这种方法可以合并两个或多个数组。此方法不会改变现有数组,可组合返回一个新数组。
let arr = [1, 2, 3];
let a = ['a', 'b', 'c'];
let b = [11, 22, 33];
let re = arr.concat(a, b, 'aa', 'bb', 'cc');
console.log(re); //[1, 2, 3, "a", "b", "c", 11, 22, 33, "aa", "bb", "cc"]
reverse()方法
reverse()
方法将数组中元素的位置颠倒,并返回该数组的第一个元素会变成最后一个,数组的最后一个元素会变成一个。
let arr = [1, 2, 3];
let re = arr.reverse();
console.log(re); // [3, 2, 1]
join()方法
join()
方法将一个数组(或一个类数组对象)的所有元素连接一个字符串并返回这个字符串。
let arr = ['a', 'b', 'c', 'd', 'e', 'f'];
let str = arr.join('');
console.log(str); //abcdef
indexOf()方法
indexOf()
方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
let arr = ['a', 'b', 'c', 'd', 'a', 'b', 'c'];
// 如果找到就会返回首次出现的位置,找不到就会返回-1
// let re = arr.indexOf('b');
console.log(re); //1
// lastIndexOf:查找在数组中尾次出现的索引位置,找不到就是-1
let re = arr.lastIndexOf('b');
console.log(re); //5
sort()方法
sort()
方法用原地算法对数组的元素进行排序,并返回数组。默认排序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的由于它确实实现,因此无法保证排序的时间和空间复杂性。
let arr = [23, 123, 6, 9, 7];
// 正序排列:
// let re = arr.sort( function (a, b) { return a - b; } );
console.log(re); // [6, 7, 9, 23, 123]
// 倒序排列:
let re = arr.sort( function (a, b) { return b - a; } );
console.log(re); // [123, 23, 9, 7, 6]
持续更新...