Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Tree from object
Write a function `createTree(element, data)` that creates a nested list of `ul/li` from an object.
Use keys as list items.
Write a function `createTree(element, data)` that creates a nested list of `ul/li` from an object.
Use keys as list items.

`element` - is a DOM element

Expand All @@ -11,7 +11,7 @@ Use keys as list items.
![screenshot of the tree](example/object-tree.png)

1. Replace `<your_account>` with your GitHub username in the link
- [DEMO LINK](https://<your_account>.github.io/js_tree-from-object-DOM/)
- [DEMO LINK](https://Banderos14.github.io/js_tree-from-object-DOM/)
2. Follow [this instructions](https://github.com/mate-academy/js_task-DOM-guideline)
- Run `npm run test` command to test your code;
- Run `npm run test:only -- -n` to run fast test ignoring linter;
Expand Down
22 changes: 20 additions & 2 deletions src/scripts/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,28 @@ const food = {
},
};

const tree = document.querySelector('#tree');
const tree = document.createElement('div');

tree.id = 'tree';
document.body.append(tree);

function createTree(element, data) {
// WRITE YOUR CODE HERE
const ul = document.createElement('ul');

for (const key in data) {
const li = document.createElement('li');

li.textContent = key;

// если внутри есть вложенность
if (data[key] && Object.keys(data[key]).length > 0) {
createTree(li, data[key]);
}

ul.append(li);
}

element.append(ul);
}

createTree(tree, food);
Loading