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

Есть компонент который использует 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")
  • Вопрос задан
  • 3603 просмотра
Решения вопроса 1
IvanU7n
@IvanU7n
nothing interesting here
1) document.write ЕМНИП затирает документ, если её вызвать после завершения загрузки документа
2) так и должно быть, т.к. console.log образно говоря средство отладки (т.е. показывает КОД), при выполнении всё будет правильно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы