Сделать три ассоциативных массива a
, b
, c
, в каждом из которых должны быть поля name
и surname
.
Добавьте некоторые другие поля (например age
, fathername
, sex
(пол)) так, что бы набор полей отличался у разных объектов
Проверьте наличие необязательных полей у каждого из этих массивов. Если поле найдено, выведите его с помощью alert
. Проверку делайте по typeof
или in
в if
.
Добавьте несколько ассоциативных массивов с персонами в обычный массив persons
, например a
,b
,c
. Так же добавьте персону литерально ({...}
).
Получится обычный массив с элементами-ассоциативными массивами с персонами.
Сделайте цикл, который выводит весь массив persons
в форме объектов console.log(persons[i])
Сделайте цикл, который выводит весь массив persons
, но только Имя и Фамилию каждой персоны. Используйте вложенный for
для вывода полей персоны, и проверку на то, что ключ - имя или фамилия, а не что-то другое.
Сделайте цикл, который выводит весь массив persons
, но только Имя и Фамилию каждой персоны. Используйте Object.keys
и вложенный for
для вывода полей персоны
Сделайте цикл, который выводит весь массив persons
, при этом проверяет наличие других полей (кроме name
и surname
), и выводит дополнительные сообщения с этими полями. Первые два выводимых поля - name
и surname
Сделайте цикл, которых добавляет поле fullName
в каждый объект, содержащий ФИО. Учтите, что поле fathername
не является обязательным.
Создайте JSON
-строку из persons
Создайте ассоциативный массив с одной персоной из JSON
-строки. Добавьте её в persons
Сделайте цикл, который выводит весь массив persons
, в форме HTML-таблицы. Имя и Фамилия - колонки.
Сделайте цикл, который выводит весь массив persons
, в форме HTML-таблицы. Имя и Фамилия, а так же другие поля при наличии.
Добавьте к предыдущему примеру раскраску через строчку используя другой стиль тэга tr
.
Переработайте вывод persons
в HTML с поиском всех возможных колонок во всех записях, выводом названий колонок в заголовок HTML-таблицы.
Для решения этой задачи вначале узнайте множество полей (ключей) во всех записях, выведите HTML-заголовок используя тэги <th>
, а потом выводите все
записи.
Сделайте предыдущее задание, используя jQuery
Сделайте предыдущее задание, используя jQuery с полями ввода для значение объектов. Используйте input
разных типов в зависимости от типа данных значения поля.
Сделать HTML-конструктор из деревянной структуры, которая была на прошлом занятии:
var someTree = {
tagName: "table", //html tag
subTags: [ //вложенные тэги
{
tagName: "tr",
subTags: [
{
tagName: "td",
text: "some text",
},
{
tagName: "td",
text: "some text 2",
}
]
}
],
attrs:
{
border: 1,
},
}
Для начала сделайте конструктор для верхнего уровня (в примере - table
). Потом с помощью копипасты сделайте то же самое с вложенным уровнем nestedTags
(tr
).
Аналогично для уровня td
.
Конструктор должен поддерживать вложенность до 3его уровня (как в примере). В результате работы конструктора из примера выше должен получиться следующий
HTML(в строке str
):
<table border=1>
<tr>
<td>some text</td>
<td>some text 2</td>
</tr>
</table>
Переносы строк и отступы в результате не принципиальны, главное - структура HTML Проверьте ваш код на других структурах.
Сделать предыдущее задание на черный пояс в упрощенном виде: не использовать четырехмерный массив для хранения истории, а использовать ассоциативный массив:
Например, если пользователь ввел 1212
за последние четыре хода, то мы ищем то, что было введено последний раз после такой последовательности:
var history = "1212"
var predictValue = predictArray[history] // в predictValue то, что ввел последний раз пользователь после нажатий 1212
var newValue = prompt("введите 1 или 2","");
predictArray[history] = newValue //сохраняем новый ввод
//сдвигаем историю