js数组 面试题

ES6 去重

Array.from(new Set([1,2,3,4,5,4,3,2]))

[...new Set([1,2,3,4,5,4,3,2])]

//[1, 2, 3, 4, 5]

 

排序

[1,2,2,3,4,3,5,1].sort()

//[1, 1, 2, 2, 3, 3, 4, 5]


[1,2,2,3,4,3,5,1].sort((a,b)=>b-a)

//[5, 4, 3, 3, 2, 2, 1, 1]

 

最大值

1.

Math.max(...[1,2,3,4,5,1,6,6,3])
//6

Math.max()是Math对象内置方法,参数是字符串。

2.

Math.max.apply(this,[1,2,3,4,5,1,6,6,3])
//6

3.

[1,2,3,4,5,1,6,6,3].reduce((prev,cur,curIndex,arr)=>{
     return Math.max(prev,cur);
},0)

//6

reduce是ES5的数组api,参数有函数和默认初始值

函数有四个参数:prev上一次的返回值,cur当前值,curIndex当前值索引,arr当前数组

 

求和

[1,2,3,1,3].reduce((prev,cur)=>{
     return prev+cur;
},0)

//10

 

合并

1.

[1,2,3,4].concat([1,2,3]);

//[1, 2, 3, 4, 1, 2, 3]

2.

[...[1,2,3,4],...[4,5,6]];

[1, 2, 3, 4, 4, 5, 6]

判断两个数组哪个更大,然后使用大数组合并小数组,这样就减少了数组元素操作的次数!

 

每一项设置值

1.

[1,2,3].fill(false);

//[false, false, false]

  fill是ES6的方法

2.

[1,2,3].map(()=>0);

//[0, 0, 0]

 

每一项是否满足

[1,2,3].every(item=>{return item>2})

//false

every是ES5的api,,每一项满足返回 true

 

有一项满足

[1,2,3].some(item=>{return item>2});

//true

some是ES5的api,有一项满足返回 true

 

过滤数组

[1,2,3].filter(item=>{return item>2})

//[3]

filter是ES5的api,返回满足添加的项的数组

 

对象和数组转化

Object.keys({name:'张三',age:14})

 ["name", "age"]
Object.values({name:'张三',age:14});

 ["张三", 14]
Object.entries({name:'张三',age:14});

//[["name", "张三"],["age", 14]]

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值