分享一下面试的一道题目关于es6的解构与去重 。果然凭空完全不会写,就像闭网开发一样。果然我还是太菜了。
题目如下:
一行代码实现数组展开,去重,然后全体+3,并对大于0的数求和, (提示,用es6语法,链式调用函数)[1, [2, -2], 1, -7, 2]得出结果10
<script>
//一行代码实现数组展开,去重,然后全体+3,并对大于0的数求和, (提示,用es6语法,链式调用函数)[1, [2, -2], 1, -7, 2]得出结果10
let a = [1, [2, -2], 1, -7, 2]
function deitarr(a) {
let newArr = []
for(var i = 0; i<a.length;i++){ //解构的数据
if(Array.isArray(a[i])){
const innerArr = a[i].map(item => item)
newArr = [...newArr,...innerArr]
}else{
newArr.push(a[i])
}
}
console.log('解构的数据',newArr)
let Arry = [...new Set(newArr)] //去重
console.log('去重的数据',Arry)
let data = A