js数组方法使用
1.find方法
已知一个数字,在数组中查找
let scheduleList = [{temp:1,a:3},{temp:2,a:4},{temp:3,a:5},{temp:4,a:6},{temp:5,a:7}];
let a = 2;
const item = scheduleList.find(item => item.temp === 2);
console.log(item);
//会输出{temp: 2, a: 4}
2. findIndex 方法
已知一个数字,在数组中查找索引
let scheduleList = [{temp:1,a:3},{temp:2,a:4},{temp:3,a:5},{temp:4,a:6},{temp:5,a:7}];
let a = 2;
const item = scheduleList.findIndex(item => item.temp === 2);
console.log(item);
//会输出为 1
3.map方法
已知一个数组,直接通过map转为另一个数组,不改变原来的
map中匿名函数有三个参数(val,index,arr)分别是1.具体的对象,2.索引,3.遍历的数组 ,第一个必填,其他的都可以省略
let scheduleList = [{temp:1,a:3},{temp:2,a:4},{temp:3,a:5},{temp:4,a:6},{temp:5,a:7}];
let item = scheduleList.map((item,index,arr) => {
return {
name:1,
age:18,
score:item.temp
}
});
console.log(item);
//会输出一个新的数组
//[{name:1,age:18,score:1},
//{name:1,age:18,score:1},
//{name:1,age:18,score:1}]
使用map时,可以通过一下方式省略return
let item5 = scheduleList.map(item => ({
name:1,
age:18,
score:item.temp
}));
console.log(item5);
// 结果同上
4.filter() 方法
与map方法类似,也是对数组中的每个元素执行相同的函数,用于把某些元素过滤掉,留下能使用的,将结果组合成一个新数组。
let scheduleList = [{temp:1,a:3},{temp:2,a:4},{temp:3,a:5},{temp:4,a:6},{temp:5,a:7}];
let item = scheduleList.filter((item,index,arr) => {
if(item.temp>4){
return {
name:1,
age:18,
score:item.temp
}
}
});
console.log(item);
//输出结果为: {temp:5,a:7}
5. forEach()方法
用来遍历数组
let scheduleList = [{temp:1,a:3},{temp:2,a:4},{temp:3,a:5},{temp:4,a:6},{temp:5,a:7}];
scheduleList.forEach((item,index) => {
item.b=index;
});
console.log(item);
//新的数组结果中每一项会多一个元素
6. includes
用来判断数组中是否包含指定的值,返回一个boolean值
let site = ['runoob', 'google', 'taobao'];
site.includes('runoob');
// true
site.includes('baidu');
// false