Skip to content

Instantly share code, notes, and snippets.

@AMashoshyna
Last active August 4, 2017 18:10
Show Gist options
  • Save AMashoshyna/a94fbb4ace84a89299274af1c7746074 to your computer and use it in GitHub Desktop.
Save AMashoshyna/a94fbb4ace84a89299274af1c7746074 to your computer and use it in GitHub Desktop.
jsninja-test-task
function drawNestedSetsTree(data, node) {
let root = document.createElement('ul')
let orderedData = data.sort((a, b) => a.left - b.left)
orderedData.forEach(node => {
let newLeaf = document.createElement('li')
newLeaf.innerHTML = node.title
if((node.right - node.left) > 1) {
let leaves = orderedData.filter(item => item.left > node.left && item.right < node.right)
orderedData.splice(0, leaves.length)
drawNestedSetsTree(leaves, newLeaf)
}
root.appendChild(newLeaf)
})
node.appendChild(root)
}
if (typeof module !== 'undefined') {
module.exports = drawNestedSetsTree;
}
@jsninjabot
Copy link

К сожалению неверно. Входные данные:

[ { title: 'last-fact', left: 2, right: 5 },
  { title: 'whole-curve', left: 3, right: 4 },
  { title: 'magenta-women', left: 1, right: 6 } ]

Ожидаемый результат:

<ul><li>magenta-women<ul><li>last-fact<ul><li>whole-curve</li></ul></li></ul></li></ul>

Полученный результат:

<ul><li>last-fact<ul><li>whole-curve</li><li>magenta-women</li></ul></li></ul>

Пожалуйста, пришлите еще одно письмо после исправления проблемы

@jsninjabot
Copy link

К сожалению неверно. Входные данные:

[ { title: 'bustling-test', left: 4, right: 7 },
  { title: 'bawdy-shade', left: 1, right: 10 },
  { title: 'rhetorical-doctor', left: 5, right: 6 },
  { title: 'male-roll', left: 2, right: 9 },
  { title: 'modest-wood', left: 3, right: 8 } ]

Ожидаемый результат:

<ul><li>bawdy-shade<ul><li>male-roll<ul><li>modest-wood<ul><li>bustling-test<ul><li>rhetorical-doctor</li></ul></li></ul></li></ul></li></ul></li></ul>

Полученный результат:

<ul><li>bustling-test<ul><li>bawdy-shade<ul><li>male-roll</li><li>modest-wood</li></ul></li><li>rhetorical-doctor</li></ul></li></ul>

Пожалуйста, пришлите еще одно письмо после исправления проблемы

@jsninjabot
Copy link

Приветствую!
Поздравляю, ваш код прошел все наши тесты.
Пожалуйста, заполните форму регистрации на курс:
https://goo.gl/BEq8sP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment