Написать функцию, которая будет принимать объект и создавать из него массив в котором пары ключ-значения будут идти по очереди (четные - ключи, нечетные - значения)
var obj = { foo: 1,
bar: null,
baz: undefined
}
objectToPairs(obj) // возвращает ['foo', 1, 'bar', null, 'baz', undefined]
Функция должна преобразовывать объект в два массива ключей и значений и возвращать объект с двумя массивами:
var obj = { foo: 1,
bar: null,
baz: undefined
}
objectSplit(obj) // {keys: ['foo', 'bar', 'baz'], values: [1, null, undefined]}
Используйте итерацию.
Создайте функцию, которая будет искать все элементы по селектору и задавать им то или иное свойство в то или иное значение
setPropertyBySelector("td > li", 'onclick', function(){
alert('click on td > li')
})
setPropertyBySelector("td", 'innerHTML', 'испортим все td на странице')
setPropertyBySelector("h1", 'innerText', 'испортим все заголовки на странице')
Создайте функцию, которая будет добавлять 4 кнопки (вверх, вниз, вправо, влево) для любого элемента cо скроллбаром (CSS overflow
) и скроллить
его по нажатию на эти кнопки на определенную величину.
var element = document.getElementById('someId'); //у вас должен быть где-то элемент с id=someId и overflow: auto или hidden
scrollButtons(element, 50) // теперь element можно скроллить по кнопкам на 50 пикселей.
Создайте функцию, которая будет записывать в контейнер таблицу с данными из массива с объектами наподобие http://gitlab.a-level.com.ua/gitgod/FrontendLectures/src/master/04AssociativeArraysHomeWork.md#html-th-optional.
Однако кроме просто создания таблицы предусмотрите возможность редактирование ячеек таблицы. По двойному щелчку в ячейке создается input
, и удаляется старый input
(если он был), данные при удалении старого input
из старого input
должны оказываться в ячейке таблице и объекте, который был отредактирован.
tableEditor(element, persons)