Объекты. Массивы. Строки.

Домашнее задание.

Вам необходимо самостоятельно решить, для какого задания какой оператор ветвления лучше использовать: if , switch или тернарный. щ

Задание 1.

Запросить у пользователя его возраст и определить, кем он является: ребенком (0–2), подростком (12–18), взрослым (18_60) или пенсионером (60– …).

Задание 2.

Запросить у пользователя число от 0 до 9 и вывести ему спецсимвол, который расположен на этой клавише (1–!, 2–@, 3–# и т. д).

Задание 3.

Запросить у пользователя трехзначное и число и проверить, есть ли в нем одинаковые цифры.

Задание 4.

Запросить у пользователя год и проверить, високосный он или нет. Високосный год либо кратен 400, либо кратен 4 и при этом не кратен 100.

Задание 5.

Запросить у пользователя пятиразрядное число и опреде- лить, является ли оно палиндромом.

Задание 6.

Написать конвертор валют. Пользователь вводит количе- ство USD, выбирает, в какую валюту хочет перевести: EUR, UAN или AZN, и получает в ответ соответствующую сумму.

Задание 7.

Запросить у пользователя сумму покупки и вывести сумму к оплате со скидкой: от 200 до 300 – скидка будет 3%, от 300 до 500 – 5%, от 500 и выше – 7%.

Задание 8.

Запросить у пользователя длину окружности и периметр квадрата. Определить, может ли такая окружность поме- ститься в указанный квадрат.

Задание 9.

Задать пользователю 3 вопроса, в каждом вопросе по 3 ва- рианта ответа. За каждый правильный ответ начисляется 2 балла. После вопросов выведите пользователю количество набранных баллов.

Задание 10.

Запросить дату (день, месяц, год) и вывести следующую за ней дату. Учтите возможность перехода на следующий месяц, год, а также високосный год.

Фронтенд разработка на языке JavaScript. -> Объекты. Массивы. Строки.

Объекты.

Объект — это некоторая конкретная реализация какой-то сущности.

Объект в языке JS представлен в виде ассоциативного массива.

Напомним, это массив, который состоит из пар «ключ-значение».

Создание объекта.

// создаем пустой объект
// мы используем ключевое слово new для создания объекта
var obj = new Object();
// второй вариант создания объекта
var obj2 = {};
// третий вариант
var student = {
name: "Daria",
lastName: "Kislicina",
age:23
};

При создании объекта можно внутрь вставить другой объект.

var student = {
name: "Daria",
lastName: "Kislicina",
age:23,
address:{
        street:"Tiraspolskaya 5",
        city:"Odessa"
    }
};

Добавление пар ключ-значение.

// создаем пустой объект
var student=new Object();
// Добавляем свойство в объект используя обычный
// синтаксис массивов
// ["ключ"]
student["Name"] = "Vasya";
// вместо двойных кавычек можно использовать одинарные
student['Age'] = 23;
alert(student["Name"]);
alert(student['Age']);

второй способ

// создаем пустой объект
var firm={};
// создаём свойство внутри объекта
firm.Name = "Star Inc";
firm.Address = 'Somewhere street 5';
alert(firm.Name);
alert(firm.Address);

Удаление свойств

delete cat.Name;

Проверка существования свойства внутри объекта

if("Age" in obj){
    alert("Exists");
}
else{
    alert("Not exists");
}

Альтернативный способ

if (obj.hasOwnProperty('age')){
     console.log('Age exists!');
}

Просмотр всех свойств внутри объекта

for(var tempProperty in rect){
    // отображаем название свойства
    alert(tempProperty);
    // значение свойства
    alert(rect[tempProperty]);
}

Помимо свойст в объекте могут присутствовать и методы (функции).

myobj.sayHello = function() { console.log('Hello!') }

Вызов метода.

myobj.sayHello()

Массивы

Массив — это структура данных, которая группирует набор некоторых значений под одним именем. Для доступа к конкретному значению используется индекс. Массив — это структура данных, которая группирует набор некоторых значений под одним именем. Для доступа к конкретному значению используется индекс.

Создание массивов с помощью конструктора.

// создаем пустой массив
var arrayName = new Array();
// создаем массив заданной длины
var arrayName= new Array(Number length);
// создаем массив и сразу инициализируем его значениями
var arrayName = new Array(el1, el2...)

Создание массивов с помощью литералов.

var arr = [1,2,3]

Получение значений по индексу

Индексирование начинается с 0.

var g = arr[0]

Заполнение массива

arr[1] = 'value'

Длинна массива.

arr.lenght

Уменьшить массив можно изменением свойсва lenght при этом данные будут потеряны.

Проход по массиву циклом.

for(var i = 0;i<arr.length;i++){
    alert(arr[i]);
}

Двумерные массивы.

var arr = [
    [1,3,5],
    [2,7,8]
];

Получение значений.

alert(arr[1][2]);

Методы массивов.

Поиск значений.

indexOf lastIndexOf в прямую и обратную сторону.

name_of_array.indexOf(what_to_search[, fromIndex])

Возвращается индекс либо -1 если не нашел.

Сортировка sort

Сигнатура.

name_of_array.sort([compareFunc])

Сигнатура функции для сортировки.

function name_of_function(name_of_var1, name_of_var2){
body_of_function
}

name_of_var1, name_of_var2 - два параметра, которые будут сравниваться.

В результате сравнения функция может возвращать 0, 1 или -1 в зависимости от того больше меньше или равно.

Пример.

function compareFunc(a,b){
    if(a>b)
        return 1;
    else if(b>a)
        return -1;
    else
        return 0;
}
var arr = [10,1,3,33,6];
// 1 3 6 10 33
arr.sort(compareFunc);

Строки и их методы.

Определение строк.

var s = "Hello";
var name = 'Dima';
var phrase = `Hello \t ${name}`

\t - табуляция

Вставка кавычек

var str2 = "\"Yes\"";

Доступ к элементу.

str2[2]

Cтрока это неизменяемый объект поэтому чтобы ее изменить нужно пользоваться методами или пересоздавать целиком.

Конкатенация строк.

"Hello"+"Dima"

Split - разбиение на части.

name_of_string.split(separator)

separator — разделитель с его помощью мы разбиваем строку на элементы массива. В результате работы метода возвращается массив результата.

Join - объединение через разделитель.

var arr = ["bmw","audi","opel"];
var str = arr.join(";");

Методы toLowerCase и toUpperCase изменяют регистр букв. При этом возвращается новая строка.

var str = "FootbalL";
var newStr = str.toLowerCase();

Методы substr, substring.

Используются для получения подстроки из строки.

substring( start, [end])

Метод возвращает подстроку начиная с индекса start, но не включая индекс end.

Если end не указан, то возвращаем подстроку до конца строки.

var str = "Some value";
// end — необязательный параметр, который можно опустить
var newStr = str.substring(2);
// me value
alert(newStr);
newStr = str.substring(1,3);
// om
alert(newStr);

Метод substr( start, [length]) возвращает подстроку начиная с start, при этом можно указать длину подстроки во втором параметре. Если же длина не указана, то возвращается подстрока до конца оригинальной строки.