Вы перепутали много разных вещей, и есть много документации о том, что это онлайн. Вам просто нужно разобраться с ними отдельно, а затем объединить их для нужд вашего проекта.
1) new
оператор
Как описывает оператор MDN on new
;
Оператор new
создает экземпляр пользовательского объекта
тип или один из встроенных типов объектов, который имеет конструктор
функция.
Пример
function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
var car1 = new Car('Eagle', 'Talon TSi', 1993);
console.log(car1.make);
// expected output: "Eagle"
2) Object.keys
Как описывает документ MDN на Object.keys()
;
Метод Object.keys()
возвращает массив данного объекта
имена свойств в том же порядке, что и в обычном цикле.
Sample
// simple array
var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']
// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']
3) Создание массива объектов
Если вам просто нужно создать массив объектов, вы можете подумать проще. Создание for
цикла или аналогичного цикла для создания необходимого количества объектов и помещения их в массив - вот путь.
Sample
const desiredNumberOfObjects = 20;
let markers = [];
for(let i = 0; i < desiredNumberOfObjects; i++) {
markers.push({
location: 'some location for index',
key: 'some key for index',
contactName: 'some contactName for index'
});
}
Над кодом будет создан массив из 20 элементов с заполненными значениями.
4) Javascript class
es
Как описывает документ MDN на class
es ;
Классы на самом деле являются «специальными функциями», и, как вы можете определить,
выражения функций и объявления функций, синтаксис класса имеет
два компонента: выражения класса и объявления класса.
Вы можете использовать классы для создания более сложных объектов. Если вам нужны операции с созданным объектом или если у вас есть повторяющаяся функция, вам нужно запустить созданный объект.
Пример
class Marker {
constructor(key, contactName, location) {
this.key = key;
this.contactName = contactName;
this.location = location;
}
changeName(name) {
this.contactName = name;
}
getLocation() {
return `geo(${this.location.lang}, ${this.location.long})`;
}
}
var marker = new Marker('someKey', 'contact name for this marker', { lang: '45', long: '32'});
console.log(marker.getLocation()); // will print 'geo(45,32)'
marker.changeName('new name for marker'); // will change name of this marker
5) Заключение
Проведение дополнительных исследований, разделение непонятных примеров кода на более мелкие части и попытка понять эти фрагменты - вот ключ.