Параметр передачи к функции обратного вызова

ПРИМЕЧАНИЕ: НЕ протестированный!

string[] test(string[] myStringArray)
{
    List<String> myStringList = new List<string>();
    foreach (string s in myStringArray)
    {
        if (!myStringList.Contains(s))
        {
            myStringList.Add(s);
        }
    }
    return myStringList.ToString();
}

Мог бы сделать то, в чем Вы нуждаетесь...

РЕДАКТИРОВАНИЕ Argh!!! избитый к нему грабят менее чем на минуту!

10
задан Brian Tompsett - 汤莱恩 10 July 2019 в 14:47
поделиться

3 ответа

Попробуйте следующее:

with ({ mark: marker }) {
    google.maps.event.addListener(mark, 'click', function() {  
        createWindow(mark.id);
    });
}

Пример, демонстрирующий использование с :

for (var i = 0; i < 10; i++) {
    setTimeout(function() { console.log(i); }, 1000);
}

Вышеупомянутое будет регистрировать 10 десять раз.

for (var i = 0; i < 10; i++) {
    with ({ foo: i }) {
        setTimeout(function() { console.log(foo); }, 1000);
    }
}

] Это будет регистрировать от 0 до 9 , по желанию, благодаря с , вводящим новую область видимости.

JavaScript 1.7 имеет let ], который лучше, но пока он не получит широкой поддержки, вы можете использовать с .

И использовать var для своих переменных.

24
ответ дан 3 December 2019 в 15:06
поделиться

Классическая проблема закрытия снова возникает!

  google.maps.event.addListener(marker, 'click', function(id) {
    return function(){
      createWindow(id); //<==== this doesn't work because marker always points to the last results when this function is called
    }
  }(marker.id));     
4
ответ дан 3 December 2019 в 15:06
поделиться
Другие вопросы по тегам:

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