Кажется, у вас неправильная инициализация переменной mapMarkers
для ожидаемых целей.Способ, которым вы инициализируете эту переменную, генерирует массив массивов (каждый из которых имеет длину, равную 1), то есть каждый массив имеет одну строку внутри.Как вы можете проверить на следующем примере, где я показываю, как управлять этой структурой:
var mapMarkers = [ ['Utility'], ['Court'], ['Sales'], ['Licensing'], ['Other'], ['Prospect'] ];
// Display the structure format:
console.log(mapMarkers);
// Display first array inside.
console.log("First array of mapMarkers: ", mapMarkers[0]);
// Display the first element of the first array.
console.log("First element inside first array: ", mapMarkers[0][0]);
// Push new element on first array.
mapMarkers[0].push("Hello");
console.log(mapMarkers);
Для вашей конкретной цели лучше использовать следующую инициализацию, представляющую объект со свойствами, где каждое свойство содержит пустой массив (при инициализации):
var mapMarkers = {'Utility': [], 'Court': [], 'Sales': [], 'Licensing': [], 'Other': [], 'Prospect': []};
Используя предыдущую инициализацию, вы можете манипулировать структурой так, как вы ожидаете, как вы можете проверить на следующем примере:
var mapMarkers = {"Utility": [], "Court": [], "Sales": [], "Licensing": [], "Other": [], "Prospect": []};
// Display the structure format:
console.log(mapMarkers);
// Display the array saved on the "Utility" property.
console.log("Utility array: ", mapMarkers["Utility"]);
// Push new elements on "Sales" array.
mapMarkers["Sales"].push("Sale1");
mapMarkers["Sales"].push("Sale2");
mapMarkers["Sales"].push("Sale3");
// Display the "Sales" array.
console.log("Sales Array: ", mapMarkers["Sales"]);
// Display second element of "Sales" array.
console.log("Second element of Sales array: ", mapMarkers["Sales"][1]);
// Display the structure after adding elements:
console.log(mapMarkers);