Объекты Javascript:
это мощные структуры данных, которые позволяют организовывать связанные данные в одно целое. Объекты состоят из пар «ключ-значение», где ключом является строка (string), а значением может быть любой тип данных Javascript (число, строка, массив, функция и т. д.). Объекты предоставляют отличный способ структурирования и манипулирования данными. В повседневной жизни мы можем встречать объекты по-разному.
Объект:
В программах Javascript можно при необходимости создавать собственные объекты, а также использовать встроенные объекты, которые предлагаются самим Javascript. Некоторые встроенные объекты, например:
Объект Math содержит математические функции и константы. Он часто используется для выполнения математических вычислений, таких как округление, извлечение квадратного корня, тригонометрические функции и т. д.
Объект Date позволяет работать с датами и временем. С его помощью можно создавать новые объекты даты, получать компоненты даты (такие как день, месяц, год) и выполнять различные операции между датами.
Объект Array — это встроенный объект, который используется для создания и манипулирования массивами. Он содержит несколько методов, которые позволяют работать с массивами, таких как добавление элемента, удаление, сортировка, фильтрация и т. д.
Объект String содержит методы, которые позволяют работать со словами. Например, вы можете использовать такие методы, как length (получение длины), toUpperCase (использование заглавных букв), substring (извлечение подстроки) и т. д.
Объект Object является базовым объектом JavaScript, который используется в качестве основы для всех объектов. Его методы можно использовать для создания объектов, добавления и доступа к свойствам, копирования объектов и т. д.
Создание объекта:
Синтаксис объекта состоит из пар ключ-значение, где ключ является словом, а значение может быть любым типом данных Javascript. В этом примере создан объект с именем «auto», который имеет следующие свойства (properties):
let auto = {
mark: "Porsche",
mudel: "911",
aasta: 1964,
varv: "must",
lisavarustus: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"]
};
Для вывода распечатайте весь объект:
console.log(auto);

Доступ к свойствам каждого объекта можно получить с помощью точечной синтаксиса.
console.log(auto.mark); // Output: "Porsche"
console.log(auto.mudel); // Output: "911"
console.log(auto.aasta); // Output: 1964
console.log(auto.varv); // Output: "must"
console.log(auto.omadused); // Output: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"]
Методы объекта и использование this:
Объекты в Javascript могут содержать не только свойства, но и методы. Методы — это функции объекта, которые могут манипулировать свойствами объекта или выполнять другие операции в контексте объекта. Ключевое слово this используется внутри методов для ссылки на объект, в котором вызван метод. Создадим для предыдущего объекта auto метод, который отображает полное имя автомобиля. Чтобы метод мог использовать свойства того же объекта, необходимо использовать ключевое слово this.
let auto = {
mark: "Porsche",
mudel: "911",
aasta: 1964,
varv: "must",
lisavarustus: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],
//meetodid
taisnimi: function() {
return this.mark + " " + this.mudel;
}
};
console.log(auto.taisnimi());

Сокращение метода:
Новый Javascript ES6 теперь позволяет записывать метод более кратко.
//meetodid
taisnimi() {
return this.mark + " " + this.mudel;
}
Если свойства находятся в массиве, используйте цикл for или forEach.
let auto = {
mark: "Porsche",
mudel: "911",
aasta: 1964,
varv: "must",
omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],
//meetodid
taisnimi() {
return this.mark + " " + this.mudel;
},
kuvaOmadused() {
this.omadused.forEach(omadus => console.log(omadus));
}
};
auto.kuvaOmadused();

Массивы объектов:
Массив объектов в JavaScript — это структура данных, состоящая из нескольких объектов, упорядоченных по индексу. Каждый объект представляет собой набор пар «ключ-значение», где ключ является уникальным, а значение — данными пары «ключ-значение». Массив объектов может содержать различные типы данных, включая текст (строку), числа, логические значения (булевы), функции, другие объекты и т. д.
Создание и отображение массива объектов:
Создание массива объектов относительно просто. Начнем, например, с хранения данных об автомобилях. Каждый автомобиль представлен в виде объекта, содержащего информацию о марке, модели и годе выпуска автомобиля.
let auto = {
mark: "Porsche",
mudel: "911",
aasta: 1964,
varv: "must",
omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],
}
let autod = [
{ mark: 'Porsche', mudel: '911', aasta: 1964 },
{ mark: 'Lexus', mudel: 'IS 300', aasta: 2001 },
{ mark: 'Tesla', mudel: 'Model X', aasta: 2014 }
];
console.log(autod);
console.log(autod[0]);
console.log(autod[0].mark);
autod.forEach((auto) => {
console.log(`
Mark: ${auto.mark},
Mudel: ${auto.mudel},
Aasta: ${auto.aasta}
`);
})

Методы массива объектов:
Методы массивов JavaScript можно использовать как для обычных массивов, так и для массивов объектов. Такие методы, как push(), pop(), shift(), unshift(), splice(), slice(), forEach(), map(), filter(), reduce(), sort() и т. д. могут использоваться независимо от того, содержит ли массив простые типы данных (например, строки или числа) или более сложные данные (например, объекты или даже другие массивы).
let auto = {
mark: "Porsche",
mudel: "911",
aasta: 1964,
varv: "must",
omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],
}
let autod = [
{ mark: 'Porsche', mudel: '911', aasta: 1964 },
{ mark: 'Lexus', mudel: 'IS 300', aasta: 2001 },
{ mark: 'Tesla', mudel: 'Model X', aasta: 2014 }
];
autod.push({ mark: 'BMW', mudel: 'i8', aasta: 2014 });
autod.unshift({ mark: 'Ford', mudel: 'Mustang', aasta: 2025 });
//massiiv.splice(
// {start indeks},
//{mitu eemaldada},
//{mida lisada}
//
// );
autod.push({ mark: "BMW", mudel: "i8", aasta: 2014 });
autod.unshift({ mark: "Ford", mudel: "Mustang", aasta: 2025 });
autod.splice(0, 1);
autod.splice(1, 0, { mark: "Audi", mudel: "A4", aasta: 2018 });
console.log("Kõik autod:");
autod.forEach((auto, index) => {
console.log(`${index + 1}. ${auto.mark} ${auto.mudel} (${auto.aasta})`);
});

Поиск в массиве:
Для поиска объектов в массиве мы используем метод find, который для запуска требует функцию. Мы используем функцию nool, так как она короче.
let auto = {
mark: "Porsche",
mudel: "911",
aasta: 1964,
varv: "must",
omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],
};
let autod = [
{ mark: 'Porsche', mudel: '911', aasta: 1964 },
{ mark: 'Lexus', mudel: 'IS 300', aasta: 2001 },
{ mark: 'Tesla', mudel: 'Model X', aasta: 2014 }
];
let otsing = autod.find(auto => auto.aasta > 1964);
console.log(otsing);

Фильтрация массива:
Поскольку find находит только один результат, для получения нескольких ответов используйте метод filter. Filter создает из массива новый массив и выводит элементы, соответствующие условиям.
let auto = {
mark: "Porsche",
mudel: "911",
aasta: 1964,
varv: "must",
omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],
};
let autod = [
{ mark: 'Porsche', mudel: '911', aasta: 1964 },
{ mark: 'Lexus', mudel: 'IS 300', aasta: 2001 },
{ mark: 'Tesla', mudel: 'Model X', aasta: 2014 }
];
let filtreeritud = autod.filter(auto => auto.aasta > 1964);
console.log(filtreeritud);

Сортировка массива:
В качестве последнего метода рассмотрим сортировку sort. Простая сортировка массива объектов не работает правильно. Поэтому нам нужно использовать функцию сравнения.
let auto = {
mark: "Porsche",
mudel: "911",
aasta: 1964,
varv: "must",
omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],
};
let autod = [
{ mark: 'Porsche', mudel: '911', aasta: 1964 },
{ mark: 'Lexus', mudel: 'IS 300', aasta: 2001 },
{ mark: 'Tesla', mudel: 'Model X', aasta: 2014 }
];
autod.sort((a, b) => a.aasta - b.aasta);
console.log(autod);



