--- id: 5a24c314108439a4d403618b title: Give Sibling Elements a Unique Key Attribute challengeType: 6 isRequired: false videoUrl: '' localeTitle: Дайте сиблинг-элементам уникальный атрибут ключа --- ## Description undefined ## Instructions undefined ## Tests
```yml tests: - text: '' testString: 'assert(Enzyme.mount(React.createElement(Frameworks)).find("Frameworks").length === 1, "The Frameworks component should exist and render to the page.");' - text: '' testString: 'assert(Enzyme.mount(React.createElement(Frameworks)).find("h1").length === 1, "Frameworks should render an h1 element.");' - text: Frameworks должны отображать элемент ul . testString: 'assert(Enzyme.mount(React.createElement(Frameworks)).find("ul").length === 1, "Frameworks should render a ul element.");' - text: Тег ul должен отображать 6 дочерних элементов li . testString: 'assert(Enzyme.mount(React.createElement(Frameworks)).find("ul").children().length === 6 && Enzyme.mount(React.createElement(Frameworks)).find("ul").childAt(0).name() === "li" && Enzyme.mount(React.createElement(Frameworks)).find("li").length === 6, "The ul tag should render 6 child li elements.");' - text: Каждый элемент элемента списка должен иметь уникальный key атрибут. testString: 'assert((() => { const ul = Enzyme.mount(React.createElement(Frameworks)).find("ul"); const keys = new Set([ ul.childAt(0).key(), ul.childAt(1).key(), ul.childAt(2).key(), ul.childAt(3).key(), ul.childAt(4).key(), ul.childAt(5).key(), ]); return keys.size === 6; })(), "Each list item element should have a unique key attribute.");' ```
## Challenge Seed
```jsx const frontEndFrameworks = [ 'React', 'Angular', 'Ember', 'Knockout', 'Backbone', 'Vue' ]; function Frameworks() { const renderFrameworks = null; // change code here return (

Popular Front End JavaScript Frameworks

    {renderFrameworks}
); }; ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```