Как передать в функцию значение переменной?

Есть компонент который использует API яндекс карт.
В этом компоненте есть JS скрипт, в котором циклом по собранным элементам из querySelectorAll собирается массив объектов вида:

Должен быть так
const POINTS = [
  {
    coordinates: [43.981500, 56.324600],
    color: "#27203e",
    title: "sale1",
    draggable: false,
    onClick: () => showSingle("sale1"),
  },

  {
    coordinates: [43.988700, 56.313700],
    color: "#27203e",
    title: "sale2",
    draggable: false,
    onClick: () => showSingle("sale2"),
  },


Собирается таким образом

city_list_item_arr.forEach((el) => {
  
  let obj = {};
  let point = el.getAttribute("data-point");
  let title = el.innerHTML;
  title = title.trim();

  obj["coordinates"] = JSON.parse(el.getAttribute("data-coordinates"));
  obj["color"] = #27203e";
  obj["title"] = title;
  obj["draggable"] = false;

// на этой строке не могу сообразить что не так
//должно быть, в итоге в массиве, например, так:      onClick: () => showSingle("sale2"), 
// а получается так onClick: () => showSingle(point), 
// то есть значение переменной не подставляется, а вставляется имя переменной

  obj["onClick"] = () => showSingle(document.write(point));

////
  POINTS.push(obj);
  
});

В console.log в итоге значение ключа onClick выглядит так
onClick: () => showSingle(document.write(point))
а надо так
onClick: () => showSingle("sale2")
  • Вопрос задан
  • 3594 просмотра
Решения вопроса 1
IvanU7n
@IvanU7n
1) document.write ЕМНИП затирает документ, если её вызвать после завершения загрузки документа
2) так и должно быть, т.к. console.log образно говоря средство отладки (т.е. показывает КОД), при выполнении всё будет правильно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы