Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何附加到映射JavaScript?_Javascript - Fatal编程技术网

如何附加到映射JavaScript?

如何附加到映射JavaScript?,javascript,Javascript,我有地图: dataMap = new Map<string, string[]>([ ['Fruits', ['Apple', 'Orange', 'Banana']], ['Vegetables', ['Tomato', 'Potato', 'Onion']], ['Apple', ['Fuji', 'Macintosh']], ['Onion', ['Yellow', 'White', 'Purple']] ]); 要获得以下信息: ['F

我有地图:

dataMap = new Map<string, string[]>([
    ['Fruits', ['Apple', 'Orange', 'Banana']],
    ['Vegetables', ['Tomato', 'Potato', 'Onion']],
    ['Apple', ['Fuji', 'Macintosh']],
    ['Onion', ['Yellow', 'White', 'Purple']]
  ]);
要获得以下信息:

['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);
  }

您需要设置上一个值+新值,因此应该可以:

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

您需要获取
数组
并推送新值:
dataMap.get('Fruits')。push('Huaba')
您可以获取该值并推送新值并进行设置

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

JavaScript的语法看起来不正确,它确实内置了与映射相同的关联对象。您提供的语法看起来类似于C++或java。@ SPlatten,你们在说什么?Javascript有Map object@splaten JS有Map object mate唯一不是JS的是类型声明(
newmap
应该是
newmap
,我猜OP使用的是Typescript@DominikMatis我能把一些值赋值为字符串[]吗?你是什么意思?你能写一个例子吗?我的意思是:
append(key:string,value:string[]){this.dataMap.set(key,[…this.dataMap.get(key),value]);}
哦,我明白了,你想添加
value
中的所有字符串,所以在这种情况下,你应该执行
this.dataMap.set(key,[…this.dataMap.get(key),…value])
我能分配一些值作为string[]吗?我的意思是追加
['A',B']
?@OPV是的,您可以,上面的答案也可以解决这个问题
dataMap.set("Fruits", ( dataMap.get("Fruits") || [] ).concat('Huaba'));