代码之家  ›  专栏  ›  技术社区  ›  POV

如何附加到地图javascript?

  •  0
  • POV  · 技术社区  · 6 年前

    我有地图:

    dataMap = new Map<string, string[]>([
        ['Fruits', ['Apple', 'Orange', 'Banana']],
        ['Vegetables', ['Tomato', 'Potato', 'Onion']],
        ['Apple', ['Fuji', 'Macintosh']],
        ['Onion', ['Yellow', 'White', 'Purple']]
      ]);
    

    我试图用键附加新值 Fruits :

    dataMap.set("Fruits", "Huaba");
    

    要获得以下信息:

    ['Fruits', ['Apple', 'Orange', 'Banana', 'Huaba']]...
    

    这个解决方案怎么样:

    append(key: string, value: string[]) {
        let _g = this.dataMap.get(key);
        _g = _g.concat(value);
        this.dataMap.set(key, _g);
      }
    
    3 回复  |  直到 6 年前
        1
  •  2
  •   Code Maniac    6 年前

    您可以获取该值并推送新值并返回

    dataMap.set("Fruits", ( dataMap.get("Fruits") || [] ).concat('Huaba'));
    
        2
  •  3
  •   Guerric P    6 年前

    你需要得到 Array 并推动新的价值观: dataMap.get('Fruits').push('Huaba')

        3
  •  1
  •   Dominik Matis    6 年前

    您需要设置前一个值+新值,这样可以:

    dataMap.set("Fruits", [...dataMap.get("Fruits"), "Huaba"]);