需要获取到isCheck = true 的所有id的集合
list: [{
id: '1',
isCheck: false,
children: [{
id: '1-1',
isCheck: false,
children: null
}, {
id: '1-2',
isCheck: true,
children: null
}]
}, {
id: '2',
isCheck: false,
children: [{
id: '2-1',
isCheck: true,
children: null
}]
}, {
id: '3',
isCheck: true,
children: null
}]
想到用递归算法,把数组扁平化降级,可是获取到的数据不对,希望获取到数据为
['1-2', '2-1', '3']
steamroller: function (arr) {
let newArr = []
let flat = function (item) {
for (var i = 0; i < item.length; i++) {
if (Array.isArray(item[i].children)) {
flat(item[i])
} else {
newArr.push(item[i])
}
}
}
flat(arr)
return newArr
}
求助求助!
拉风的咖菲猫
缥缈止盈
相关分类