加瓦撕奎扑特?

1.map

1.map返回新数组,不改变原数组

2.原始数组的每一项都会调用提供的函数并返回新的数组

[●,●,■,●].map(● => ■) //[■,■,■,■]
let arr = ['张三','李四','王五','赵六'];
let mapArr = arr.map(e => '孙七');
//console.log(mapArr);['孙七','孙七','孙七','孙七']

2.filter

1.filter返回新数组,不改变原数组

2.数组内的每一项通过函数处理后,返回一个各项都符合条件的数组,在下面这个数组中,如果想把宋朝的人过滤出来,就可以使用filter方法

[●,■,●,■].filter(■ => true) //[■,■]
let arr = [
{id:0,name:'杜甫',age:'唐'},
{id:1,name:'李白',age:'唐'},
{id:2,name:'李商隐',age:'唐'},
{id:3,name:'苏轼',age:'宋'},
{id:4,name:'辛弃疾',age:'宋'}
];
let filterArr = arr.filter(e=>e.age === '宋');

console.log(filterArr);
//{id:3,name:'苏轼',age:'宋'},
//{id:4,name:'辛弃疾',age:'宋'}

3.find

1.find返回的是数组中的一项,不改变原数组

2.通过函数处理后返回符合元素的第一项,只要找到符合的就把这一项返回出去

[■,●,■,●].find(● => true) //●
let arr = [
{id:0,name:'杜甫',age:'唐'},
{id:1,name:'李白',age:'唐'},
{id:2,name:'李商隐',age:'唐'},
{id:3,name:'苏轼',age:'宋'},
{id:4,name:'辛弃疾',age:'宋'}
];
let findItem = arr.find(e=>e.age === '宋');
console.log(findItem);
//{id:3,name:'苏轼',age:'宋'}

4.findIndex

1.返回的是索引值,不改变原数组

2.通过函数处理后返回复符合元素中的第一项索引值,和find方法一样,都是找到第一个符合的就返回

[■,●,■,●].findIndex(● => true) //●
let arr = [
{id:0,name:'杜甫',age:'唐'},
{id:1,name:'李白',age:'唐'},
{id:2,name:'李商隐',age:'唐'},
{id:3,name:'苏轼',age:'宋'},
{id:4,name:'辛弃疾',age:'宋'}
];
let findIndexItem = arr.findIndex(e=>e.age === '宋')
console.log(findIndexItem);//3

5.every

1.every返回布尔值,不改变原数组

2.every是检查数组中的所有元素是否都符合条件,如果都符合返回true,有一项不符合就返回false

 

[■,●,■,●].every(● => true) //false
let arr = [
{id:0,name:'杜甫',age:'唐'},
{id:1,name:'李白',age:'唐'},
{id:2,name:'李商隐',age:'唐'},
{id:3,name:'苏轼',age:'宋'},
{id:4,name:'辛弃疾',age:'宋'}
];
let everyFlag = arr.every(e=>e.age==='宋');
console.log(everyFlag);//false

6.some

1.some返回的是布尔值

2.检查数组中是否有任意一个元素符合条件,只要有一个符合就返回true

[■,■,■,●].some(● => true) //true
let arr = [
{id:0,name:'杜甫',age:'唐'},
{id:1,name:'李白',age:'唐'},
{id:2,name:'李商隐',age:'唐'},
{id:3,name:'苏轼',age:'宋'},
{id:4,name:'辛弃疾',age:'宋'}
];
let someFlag = arr.some(e=>e.age==='宋');
console.log(someFlag);//true

7.concat

1.concat返回新数组

2.cocat是合并两个数组,将两个数组合并成一个新的数组并返回

[■,■,●].concat([●,●]) //[■,■,●,●,●]
let arr = [
{id:0,name:'杜甫',age:'唐'},
{id:1,name:'李白',age:'唐'},
{id:2,name:'李商隐',age:'唐'},
{id:3,name:'苏轼',age:'宋'},
{id:4,name:'辛弃疾',age:'宋'}
];
let newArr = [
{id:5,name:'李清照',age:'宋'}
];
let concatArr = arr.concat(newArr);
console.log(concatArr);
/*
[   
   { id: 0, name: '杜甫', age: '唐' },    
   { id: 1, name: '李白', age: '唐' },  
   { id: 2, name: '李商隐', age: '唐' },    
   { id: 3, name: '苏轼', age: '宋' }, 
   { id: 4, name: '辛弃疾', age: '宋' },   
   { id: 5, name: '李清照', age: '宋' }  
 ]
*/

8.join

1.返回字符串

2.将数组的每个元素拼接成字符串,没有传参就直接拼接,如果有参数九江参数当做拼接符链接

[■,●,■,●].join('-') //■-●-■-●
let arr = ['贝','加','尔','湖','畔'];
let joinStr = arr.join('-');
console.log(joinStr);//贝-加-尔-湖-畔

9.reduce

1.累加结果

2.可以做一个累加器

[1,2,3,4].reduce((total,current) => total+current,10)//20
let arr = [1,2,3,4];
let reduceRes = arr.reduce((total,current) => total+current,10);
console.log(reduceRes)//20

 

10.forEach

1.forEach改变了原数组

2.对数组中每一项都执行一次函数

[●, ●, ■, ●].forEach(● => ■) //[■, ■, ■, ■]
let arr = [
{id:0,name:'杜甫'},
{id:1,name:'李白'},
{id:2,name:'李商隐'}
];
let forEachArr = arr.forEach(e=>e.age='唐')
console.log(forEachArr);//undefined
console.log(arr);
/*
arr: [
   { id: 0, name: '杜甫', age: '唐' },
   { id: 1, name: '李白', age: '唐' },
   { id: 2, name: '李商隐', age: '唐' }
 ]
*/

11.flat

1.flat改变原数组

2.flat用于数组扁平化,参数为要扁平化的底层,可以直接传入Infinity,表示全部扁平化

[○, □, [△, [△, ○]]].fill(Infinity)  //  [○, □, △, △, ○]
let arr =[1,2,[[3],4]];
arr.flat(Infinity);
console.log(arr);//[1,2,3,4]

12.fill

1,fill改变原数组

2.fill作用为填充数组,第一个参数为要填充的内容,后面的两个参数分别为开始到结束的位置

[○, □, △, ○].fill(☆, 2, 3)  // [○, □, ☆, ○]
let arr = [1,2,3,4];
arr.fill('Hello',2,3);
console.log(arr);//[1,2,'Hello',4]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值