let arr =山东省/济南市/历下区 山东省/济南市/章丘区 转为键值对的树结构
时间: 2023-08-01 08:08:54 浏览: 108
要将给定的字符串数组转换为键值对的树结构,你可以使用以下代码:
```javascript
function convertToTree(arr) {
const tree = {};
arr.forEach((item, index) => {
const nodes = item.split('/');
let currentNode = tree;
nodes.forEach(node => {
if (!currentNode[node]) {
currentNode[node] = {};
}
currentNode = currentNode[node];
});
// 为当前节点添加键值对
currentNode.key = index + 1;
currentNode.value = item;
});
return tree;
}
const arr = `山东省/济南市/历下区
山东省/济南市/章丘区`.split('\n');
const tree = convertToTree(arr);
console.log(tree);
```
运行以上代码,你会得到以下输出:
```json
{
"山东省": {
"济南市": {
"历下区": {
"key": 1,
"value": "山东省/济南市/历下区"
},
"章丘区": {
"key": 2,
"value": "山东省/济南市/章丘区"
}
}
}
}
```
每个节点都带有名为 "key" 和 "value" 的属性。"key" 属性的值是该节点在数组中的索引加 1,"value" 属性的值是对应的字符串。这样,你就得到了键值对的树结构。
阅读全文