1 用数组的filter等方法对以下数据做处理,对数组array做去重,过滤,排序,最后输出结果 ‘259’
const array = [
{ value: 9 },
{ value: 2 },
{ value: 3 },
{ value: 5 },
{ value: 2 },
{ value: 5 }
];
function tran(arr){
}
tran(array) //输出‘259’
解法:
function tran(arr) {
let result = [];
arr.forEach(item => {
if (result.indexOf(item.value) == -1) {
result.push(item.value)
}
})
result = result.filter(item => {
return item !== 3
})
result = result.sort().join('')
console.log(result);
}
2.把一串数据转换成指定格式
//2. 写一个方法把下面的data数组转化为指定格式的数据。
var data = [
{
parentId:0,id:1,value:'test1',
},
{
parentId:3,id:2,value:'test2',
},
{
parentId:0,id:3,value:'test3',
},
{
parentId:1,id:4,value:'test4',
},
{
parentId:1,id:5,value:'test5'
}
]
//转化为
let tree=[
{
id:1,
value:'test1',
children:[
{
id:4,
value:'test4'
},
{
id:5,
value:'test5'
}
]
},
{
id:3,
value:'test3',
children:[
{
id:2,
value:'test2'
}
]
}
]
function tran(arr){
}
tran(data) //输出tree结构的数据
解法
function table(data){
let num = 0;
let arr = [];
data.forEach(item => {
if (item.parentId == 0) {
arr.push({ children: [], id: item.id, value: item.value, })
data.forEach(smallItem => {
if (smallItem.parentId == item.id) {
// console.log(num)
arr[num].children.push({ id: smallItem.id, value: smallItem.value, })
}
})
num++
}
})
return arr
}