Le *_*Anh 8 javascript arrays algorithm json data-structures
我坚持要解决这个问题。转换下面的数组
var input = [
'animal/mammal/dog',
'animal/mammal/cat/tiger',
'animal/mammal/cat/lion',
'animal/mammal/elephant',
'animal/reptile',
'plant/sunflower'
]
Run Code Online (Sandbox Code Playgroud)
到 json 对象
var expectedResult = {
"animal": {
"mammal": {
"dog": true,
"cat": {
"tiger": true,
"lion": true
},
"elephant": true
},
"reptile": true
},
"plant": {
"sunflower": true
}
}
Run Code Online (Sandbox Code Playgroud)
我可以申请哪种数据结构和算法?谢谢
您可以创建一个函数,用“/”对数组中的每个元素进行切片,然后将结果放入变量中,然后挂载 Json。我的意思是这样的:
window.onload = function() {
var expectedResult;
var input = [
'animal/mammal/dog',
'animal/mammal/cat/tiger',
'animal/mammal/cat/lion',
'animal/mammal/elephant',
'animal/reptile',
'plant/sunflower'
]
input.forEach(element => {
var data = element.split('/');
var dog = data[2] === 'dog' ? true : false
var tiger = data[2] === 'cat' && data[3] === 'tiger' ? true : false
var lion = data[2] === 'cat' && data[3] === 'lion' ? true : false
expectedResult = {
data[0]: {
data[1]: {
"dog": dog,
"cat": {
"tiger": tiger,
"lion": lion
}
}
}
}
})
}
Run Code Online (Sandbox Code Playgroud)