js数组对象通过id与parentid生存层级结构的序号数据xh 1 xh 1.1 xh1.1.1 xh1.1.2 xh1.2 xh1.2.1
时间: 2024-03-04 11:47:15 浏览: 76
在JavaScript中,可以通过使用数组对象来创建具有层级结构的序号数据。可以使用id和parentid属性来表示每个元素的唯一标识和父级元素的标识。下面是一个示例代码:
```javascript
// 定义一个包含id和parentid属性的数组
var data = [
{ id: 1, parentid: null, name: 'xh' },
{ id: 2, parentid: 1, name: 'xh 1.1' },
{ id: 3, parentid: 2, name: 'xh 1.1.1' },
{ id: 4, parentid: 2, name: 'xh 1.1.2' },
{ id: 5, parentid: 1, name: 'xh 1.2' },
{ id: 6, parentid: 5, name: 'xh 1.2.1' }
];
// 定义一个函数来生成层级结构的序号数据
function generateHierarchy(data, parentid, prefix) {
var result = [];
for (var i = 0; i < data.length; i++) {
if (data[i].parentid === parentid) {
var item = {
id: data[i].id,
name: prefix + data[i].name
};
var children = generateHierarchy(data, data[i].id, prefix + ' ');
if (children.length > 0) {
item.children = children;
}
result.push(item);
}
}
return result;
}
// 调用函数生成层级结构的序号数据
var hierarchyData = generateHierarchy(data, null, '');
console.log(hierarchyData);
```
上述代码中,我们定义了一个包含id、parentid和name属性的数组data。然后,通过调用generateHierarchy函数来生成层级结构的序号数据。该函数会递归遍历数组,根据parentid属性来确定每个元素的父级元素,并使用prefix参数来表示层级关系。最后,将生成的层级结构数据存储在hierarchyData变量中,并打印输出。
阅读全文