Jak usunąć wpis z tego słownika. Powodem, dla którego mówię określony typ słownika, wydaje się, że pojawiają się inny typ słownika w skryptach Google Apps. Próbowałem trzech skomentowanych funkcji, które znalazłem na innych pytaniach, ale podali błędy.

function functionName() {
  d = {};
  d["someString"] = 100;
  d["anotherString"] = 200;
  Logger.log(d);
  //output:  {someString=100.0, anotherString=200.0}

  //??? some function
  //None of these work:
  //d.remove("someString");
  //d.Remove("someString");
  //d.delete("someString");

  Logger.log(d);
  //expected output: {anotherString=200.0}
}

Dzięki

Edytuj Realizowałem bardziej szczegółowo, czego chciałem, było usunięcie elementu podczas iteracji w słowniku z jakąś tymczasową zmienną

To się skończyło:


function functionName() {
  d = {};
  d["someString"] = 100;
  d["anotherString"] = 200;
  Logger.log(d);
  //output:  {someString=100.0, anotherString=200.0}

  for (key in d){
    if (key == "someString"){
    delete d[key];
        }
  }  

  Logger.log(d);
  //output: {anotherString=200.0}
}
0
Trigaten 25 marzec 2020, 05:14

2 odpowiedzi

Najlepsza odpowiedź

Użyj tego kodu takiej, aby iterować przez słownik i usunąć element D [Klucz]

function functionName() {
  d = {};
  d["someString"] = 100;
  d["anotherString"] = 200;
  Logger.log(d);
  //output:  {someString=100.0, anotherString=200.0}

  for (key in d){
    if (key == "someString"){
    delete d[key];
        }
  }  

  Logger.log(d);
  //output: {anotherString=200.0}
}
3
Trigaten 25 marzec 2020, 03:36

Nie ma żadnej metody w samym obiekcie, aby usunąć własne właściwości (takie jak mapa.prototype.delete ()). Aby to zrobić, trzeba użyć operatora Usuń. Referencje .

function functionName() {
  let d = {};
  d["someString"] = 100;
  d["anotherString"] = 200;
  Logger.log(d);
  //[20-03-24 21:02:20:219 MDT] {anotherString=200.0, someString=100.0}
  delete d.someString;
  Logger.log(d)
  //[20-03-24 21:02:20:223 MDT] {anotherString=200.0}
}

Wszystko, co musiałeś zrobić, to przejść do HTTPS: // deweloper.mozilla.org/en-us/docs/archive/web/javascript/New_in_javascript/1.7 kliknij na wbudowane obiekty i wyszukaj go.

1
MetaMan 25 marzec 2020, 03:03