第一题
let arr = [{id:1,child:[{id:3,child:[{id:5}]}]},{id:2,child:[{id:4}]},{id:6}]
![](https://img.haomeiwen.com/i1817514/feae443c9eee17b7.png)
非回调函数方法
function trans(arr) {
let count = 1
let tempArr;
let targetArr = []
while(arr.length) {
let item = arr.shift()
targetArr.push({ id: item.id, level: count })
item.child && (tempArr = [...(tempArr || []), ...item.child])
if(!arr.length && tempArr.length) {
count += 1
arr = tempArr.slice()
tempArr.length = 0
}
}
return targetArr
}
第二
var arr = ['aa','bc','ba','cc','ca']写一个方法,实现这个数组的排序,
结果为["aa", "ba", "bc", "ca", "cc"]
第三
用正则实现个千位分隔符
var reg = /(?=(\d{3})+\b)/g // /\B(?=(?:\d{3})+\b)/g
网友评论