ES6数组日常用法

1、forEach  数组遍历,没有返回值)

let arr = [{name:'1'},{name:'2'},{name:'3'}];
arr.forEach((item,index)=>item.addAge = 12)
console.log(arr);

打印结果:
[
{name: '1', addAge: 12},
{name: '2', addAge: 12},
{name: '3', addAge: 12}
]

2、map 在不改变原数组的情况下,更新数组,并返回这个新数组,也就是说要重新赋值给一个新数组

let arr = [{name:'1'},{name:'2'},{name:'3'}];
let newArr = arr.map(item=>item.name)
console.log(newArr);


测试结果:(3) ['1', '2', '3']

3、filter 遍历筛选。在不改变原数组的情况下,创建一个数组,新数组内容是筛选后的

let arr = [{name:'1'},{name:'2'},{name:'3'}];
let newArr = arr.filter((item,index)=>index>1)
console.log(newArr);

测试结果:[{name: '3'}]

4、find 不创建新数组,不改变原数组,遍历数组,返回数组中找到的第一个符合条件的元素,找到后立即跳出整个循环,没找到返回undefind

情况一:

let arr = [{name:'1'},{name:'2'},{name:'3'}];
let newArr = arr.find((item,index)=>item.name==2)
console.log(newArr);

测试结果:{name: '2'}

情况二:

let arr = [{name:'1'},{name:'2'},{name:'3'}];
let newArr = arr.find((item,index)=>item.name==4)
console.log(newArr);

测试结果:undefined

5、findIndex 与find类似,返回的值为查询到的第一个符合条件的下标,没有找到则为-1

第一种:

let arr = [{name:'1'},{name:'2'},{name:'3'}];
let newArr = arr.findIndex((item,index)=>item.name==2)
console.log(newArr);

测试结果:1


第二种:

let arr = [{name:'1'},{name:'2'},{name:'3'}];
let newArr = arr.findIndex((item,index)=>item.name==4)
console.log(newArr);

测试结果:-1

6、some. 用于检测数组中的元素是否符合条件,只要有一个符合都返回true,反之返回false

第一种:

let arr = [1,2,3];
let newArr = arr.some(item=>item>=3)
console.log(newArr);

测试结果:true


第二种:

let arr = [1,2,3];
let newArr = arr.some(item=>item>=5)
console.log(newArr);

测试结果:false

7、every. 用于检测数组中的元素是否符合条件,只有全部都符合条件才为true,反之为false

第一种:

let arr = [1,2,3];
let newArr = arr.every(item=>item>=1)
console.log(newArr);

测试结果:true


第二种:

let arr = [1,2,3];
let newArr = arr.some(item=>item>=2)
console.log(newArr);

测试结果:false

8、reduce 数组累加计算 回调函数的参数:pre: 上一次计算的结果 next: 当前元素的下一项index: next项的序列 arr: 数组本身

第一种: 计算求和

let arr = [1,2,3,4];
let newArr = arr.reduce((prev, next, index)=>{
     return prev + next  
})
console.log(newArr);


测试结果:10



第二种 :数组扁平化

let arr = [[1,2],[3,4,5],[6,7]];
let newArr = arr.reduce((prev, next, index)=>{
     return prev.concat(next)   
})
console.log(newArr);


测试结果:(7) [1, 2, 3, 4, 5, 6, 7]


第三种:对象数组叠加计算


let arr = [{price:10,num:1},{price:15,num:2},{price:20,num:3}];
let newArr = arr.reduce((prev, next, index)=>{
      return prev + next.price*0.1   
},0)
console.log(newArr);


测试结果:4.5

9、includes 判断数组是否包含某一值,不用return,也不用回调函数

let arr = [200,404,505,502,500];
let newArr = arr.includes(200);
let newArr2 = arr.includes(201);

console.log(newArr);  //true
console.log(newArr2);  //false

10.join 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的

let arr = ['一','二','三','四'];
let newArr = arr.join(",");
console.log(newArr);

测试结果:一,二,三,四

11、from数组结构转换为数组实例

let newArr = Array.from({ length: 6 }, (item, index) => index);
console.log(newArr);

测试结果:[0, 1, 2, 3, 4, 5]

12、of可以把一组参数转换为数组

Array.of((1,2,3,4,5)); 

测试结果:[1, 2, 3, 4, 5]

13、 Object.keys() 获取数组的键值;Object.values()获取数组的值;Object.entries()返回一个数组,其元素是与直接在object上找到的可枚举属性键值对相对应的数组

let arr = {"name":'测试',"age":12,"sex":'女'};
let keysArr = Object.keys(arr);
let valuesArr = Object.values(arr);
let entriesArr = Object.entries(arr);


console.log('keysArr',keysArr);
console.log('valuesArr',valuesArr);
console.log('entriesArr',entriesArr);

测试结果:

'keysArr',["name", "age", "sex"]

'valuesArr',["测试", 12, "女"]

'entriesArr',[["name", "测试"]["age", 12]["sex", "女"]]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值