Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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_Typescript - Fatal编程技术网

Javascript 基于映射创建数组

Javascript 基于映射创建数组,javascript,typescript,Javascript,Typescript,我有一张地图。检查映射上的连续键值,我需要分离键并插入到新数组中 let map = new Map<string, string>(); map.set("SUNDAY", "1"); map.set("MONDAY", "2"); map.set("TUESDAY", "2"); map.set("WEDNESDAY", "4"); map.set("THURSDAY", "5"); map.set("FRIDAY", "5"); map.set("SATURDAY", "9")

我有一张地图。检查映射上的连续键值,我需要分离键并插入到新数组中

let map = new Map<string, string>();
map.set("SUNDAY", "1");
map.set("MONDAY", "2");
map.set("TUESDAY", "2");
map.set("WEDNESDAY", "4");
map.set("THURSDAY", "5");
map.set("FRIDAY", "5");
map.set("SATURDAY", "9");
您可以创建地图的名称,并根据值对其进行分组。如果当前值已存在于累加器中,请将-和当前日期附加到对象。否则,向累加器添加一个新键。然后使用以数组形式返回累加器的值

const map=新地图[[星期日,1],[星期一,2],[星期二,2],[星期三,4],[星期四,5],[星期五,5],[星期六,5]; const merged=[…map].reduceAC[day,value]=>{ ifacc[价值] acc[value].day+=`-${day}` 其他的 acc[value]={day,value}; 返回acc }, {}; 常量输出=Object.valuesmerged;
console.logoutput您错过了星期一至星期二和星期四至星期五的合并日期。我的角度代码给出的错误如下:类型“Map”不是数组类型或字符串类型。@Suman到底是哪一行?如果是[…map]行,请尝试使用[…map.entries]`是。我已经试过了。它的给定错误如下:类型“IterableTerator”不是数组类型或字符串类型。@Suman您可能必须调整tsconfig才能使用此选项。我将添加一个不涉及扩展映射的答案。由于不清楚如何组合天,因此问题未指定。该示例对聚合键是一个范围(如星期一-星期三)还是一个连接数组(如星期一-星期二-星期三)保持开放。@IngoBürk聚合键是一个范围(如星期一-星期三)
[{
      day: "SUNDAY",
      value: "1"
    },
    {
      day: "MONDAY-TUESDAY",
      value: "2"
    },
    {
      day: "WEDNESDAY",
      value: "4"
    },
    {
      day: "THURSDAY-FRIDAY",
      value: "5"
    },
    {
      day: "SATURDAY",
      value: "9"
    }
  ];