|
@@ -55,7 +55,7 @@
|
|
|
// c пустым телом цикла.
|
|
|
/*{
|
|
|
let i = 0;
|
|
|
- while (confirm("Введите что-то") === false) {
|
|
|
+ while (prompt("Введите что-то") === false) {
|
|
|
}
|
|
|
} */
|
|
|
|
|
@@ -63,11 +63,12 @@
|
|
|
// Подсчитать сумму арифметической прогрессии от 1 до N c шагом 3 (1,4,7....) используя цикл for.
|
|
|
// Метод Гаусса не применять, наоборот, сделать максимально наивное решение.
|
|
|
// {
|
|
|
+// const n = prompt("Задайте число от 1 до n c шагом 3)
|
|
|
// let x = 0;
|
|
|
-// for (let i = 1; i < 20; i+=3){
|
|
|
+// for (let i = 1; i < n; i+=3){
|
|
|
// x += i;
|
|
|
// }
|
|
|
-// console.log(`Сумма всех чисел c шагом 3 - ${x}`)
|
|
|
+// console.log(`Сумма всех чисел от 1 до ${n} шагом 3 - ${x}`)
|
|
|
// }
|
|
|
|
|
|
//7. chess one line +
|
|
@@ -81,7 +82,7 @@
|
|
|
// console.log(x)
|
|
|
// }
|
|
|
|
|
|
-// 8. numbers +-
|
|
|
+// 8. numbers +
|
|
|
// Сформировать строку c помощью вложенных циклов. Для перевода строки используйте \n.
|
|
|
//
|
|
|
// 0123456789
|
|
@@ -94,16 +95,19 @@
|
|
|
// 0123456789
|
|
|
// 0123456789
|
|
|
// 0123456789
|
|
|
-/*{
|
|
|
- for (let i=0;i<9;i++){
|
|
|
- let str = "";
|
|
|
- for (let j=0;j<10;j++){
|
|
|
- str += j;
|
|
|
- }
|
|
|
- console.log(str);
|
|
|
- }
|
|
|
-}*/
|
|
|
-
|
|
|
+//
|
|
|
+// {
|
|
|
+// let result = ""
|
|
|
+//
|
|
|
+// for (let i=0; i<10; ++i) {
|
|
|
+// let line = " "
|
|
|
+// for (let j=0; j<10; ++j) {
|
|
|
+// line += j
|
|
|
+// }
|
|
|
+// result += line + "\n"
|
|
|
+// }
|
|
|
+// console.log(result)
|
|
|
+// }
|
|
|
// 9. chess +
|
|
|
// Сформируйте строку с шахматной доской из вложенных циклов. Для перевода строки используйте \n. Код
|
|
|
// должен поддерживать легкое изменение размеров доски.
|
|
@@ -119,41 +123,33 @@
|
|
|
// .#.#.#.#.#.#
|
|
|
// #.#.#.#.#.#.
|
|
|
// {
|
|
|
-// let res = ""
|
|
|
+// let result = ""
|
|
|
//
|
|
|
-// for (let q=0; q<10; ++q) {
|
|
|
+// for (let i=0; i<10; ++i) {
|
|
|
// let line = ""
|
|
|
-//
|
|
|
-// for (let w=0; w<10; ++w) {
|
|
|
-// line += q+w & 1 ? "#" : "."
|
|
|
+// for (let j=0; j<10; ++j) {
|
|
|
+// line += i+j & 1 ? "#" : "."
|
|
|
// }
|
|
|
-// res += line + "\n"
|
|
|
+// result += line + "\n"
|
|
|
// }
|
|
|
-// console.log(res)
|
|
|
+// console.log(result)
|
|
|
// }
|
|
|
|
|
|
// 10. cubes +
|
|
|
// Сформируйте массив из N элементов, содержащий в себе кубы индексов, т. е:
|
|
|
//
|
|
|
-// [0,1,8,27,64...]
|
|
|
+//[0,1,8,27,64...]
|
|
|
// {
|
|
|
// let arr = [];
|
|
|
// let a = 1;
|
|
|
-// for (let i=0; i<10; i++) {
|
|
|
-// a = i * i * i;
|
|
|
+// for (let i=0; i<15; i++) {
|
|
|
+// a = i**3;
|
|
|
// arr.push(a)
|
|
|
// }
|
|
|
// console.log(arr)
|
|
|
// }
|
|
|
|
|
|
-// 11. multiply table
|
|
|
-// C помощью вложенного цикла сформируйте массив массивов "таблица умножения".
|
|
|
-// Для инициализации вложенных массивов используйте
|
|
|
-// arr[i] = [] //в i-тый элемент массива заносится новый пустой массив
|
|
|
-// arr[5][6] должен быть равен, соответственно, 30, arr[7][2] == 14 и так далее.
|
|
|
-
|
|
|
-
|
|
|
-// 12. read array of objects
|
|
|
+// 12. read array of objects -
|
|
|
// Напишите функцию readArrayOfObjects, которая циклически добавляет в массив объекты, которые ввел пользователь.
|
|
|
// Пользователь вводит ключи и значения (их в каждом объекте может быть любое количество), используя prompt.
|
|
|
// Когда пользователь нажимает "Отмена" в окне prompt, ввод объекта заканчивается и объект добавляется в массив.
|
|
@@ -163,12 +159,15 @@
|
|
|
|
|
|
// const result = () => {
|
|
|
// let arr = [];
|
|
|
-// let key, property, ask;
|
|
|
+// let ask;
|
|
|
// while (ask = confirm("Создадим объект")) {
|
|
|
// while (ask === true) {
|
|
|
// let obj = {};
|
|
|
// obj[prompt("Введите ключ")] = prompt('Введите значение для ключа');
|
|
|
// console.log(obj)
|
|
|
+// if (ask === false) {
|
|
|
+// break
|
|
|
+// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
@@ -262,12 +261,12 @@
|
|
|
// table.appendChild(tr);
|
|
|
// }
|
|
|
|
|
|
-// 15 DOM: highlight cell
|
|
|
+// 15 DOM: highlight cell +
|
|
|
// Подсветить ячейку, над которой находится курсор мыши. Используйте события mouseover и mouseout,
|
|
|
// и style.backgroundColor для подсветки. Для того, что бы подсветить правильную ячейку, добавьте обработчики событий
|
|
|
// во вложенный цикл, и используйте в них ту переменную, которая хранит <td>. В таком случае замыкания вам помогут.
|
|
|
// Внимание: :hover это читерство :-)
|
|
|
-//
|
|
|
+
|
|
|
// const table = document.getElementById('table');
|
|
|
//
|
|
|
// for (let i = 0; i < 10; i++){
|
|
@@ -293,11 +292,11 @@
|
|
|
// };
|
|
|
//
|
|
|
// table.onmouseout = function(event) {
|
|
|
-// let target = event.target;
|
|
|
+// target = event.target;
|
|
|
// target.style.background = '';
|
|
|
// };
|
|
|
|
|
|
-// 16. DOM: Highlight cross
|
|
|
+// 16. DOM: Highlight cross +
|
|
|
// Подсветить строку и столбец, в которой находится подсвеченная ячейка. Если у вас обработчики событий объявлены во
|
|
|
// вложенном цикле, то вы можете пользоваться счетчиками цикла (обычно i и j) и другими переменными, например
|
|
|
// переменной, содержащей в себе DOM-элемент строки.
|
|
@@ -338,4 +337,5 @@
|
|
|
// document.querySelectorAll(".highlight").forEach(
|
|
|
// item => item.classList.remove("highlight")
|
|
|
// );
|
|
|
-// };
|
|
|
+// };
|
|
|
+
|