1.数组方法 map();
var arr = [1,2,3,4,5,6];
var b = arr.map(el=>el+'a'); // arr.map((el)=>{return el+'a'})
console.log(b)
// (6) ["1a", "2a", "3a", "4a", "5a", "6a"]
map:返回一个数组,其中每个元素都使用指定函数进行过转换。
2.arr.filter() 返回一个数组,只有当指定函数返回true时,相应的元素才会被包含在这个数组中。
var a=[
{id:1,name:'h1',state:0},
{id:2,name:'h2',state:1},
{id:3,name:'h3',state:1},
{id:4,name:'h3',state:0},
];
var b = a.filter((e)=>{return e.state === 1});
console.log(b)
(2) [{…}, {…}]
0: {id: 2, name: "h2", state: 1}
1: {id: 3, name: "h3", state: 1}
length: 2
__proto__: Array(0)
3.arr.reduce() 基于给定函数累加值。
var arr = [1,2,3];
var b = arr.reduce((t,e)=>{return t+e});
console.log(b) //6
4.arr.find() 返回与指定条件匹配的第一个实例,不会继续查找其他匹配的实例
var a=[
{id:1,name:'h1'},
{id:2,name:'h2'},
{id:3,name:'h3'},
];
var b = a.find((e)=>{return e.id === 2});
console.log(b)
// {id: 2, name: "h2"}
5.arr.findIndex() 这与find几乎完全相同,但不返回第一个匹配的元素,而是返回第一个匹配元素的索引
var a=[
{id:1,name:'h1'},
{id:2,name:'h2'},
{id:3,name:'h3'},
];
var b = a.findIndex((e)=>{return e.id === 2});
console.log(b)
// 1
6.arr.indexOf() 与 findIndex 几乎完全相同,但它的参数不是一个函数,而是一个简单的值。
var a=[1,2,3,4,5,6]
var b = a.indexOf(5);
console.log(b)
// 4
7. push、pop、shift、unshift
var a=[1,2,3];
a.push(4) //[1,2,3,4] 尾部加
console.log(a);
a.pop() //[1,2,3] 尾部删
console.log(a);
a.shift() //[2,3] 头部删
console.log(a);
a.unshift(9) //[9,2,3] 头部加
console.log(a);
都是就地修改数组
8.arr.splice(index,num,X)
有三个参数为 向数组中替换
var arr = [1,2,3,4,5,6];
arr.splice(2,0,9); //在位置2上删除0个元素 并插入 9
console.log(arr)
//[1, 2, 9, 3, 4, 5, 6]
var arr = [1,2,3,4,5,6];
arr.splice(2,1,9); //在位置2上删除1个元素 并插入 9
console.log(arr)
//[1, 2, 9, 4, 5, 6]
两个参数 为删除
var arr = [1,2,3,4,5,6];
arr.splice(2,1); //在数组位置2 上删除1个元素
console.log(arr)
// [1, 2, 4, 5, 6]