Javascript Map(Object)格式不正确

时间:2018-02-02 18:14:51

标签: javascript object foreach javascript-objects

我有一个地图数组,每个地图在控制台中都是这样的: enter image description here

Map[10]
{"chartType" => "horizontalBar"}
{"data" => 
List[4]
}
{"description" => "Everything black"}
{"detailUrl" => ""}
{"featuredStepIndex" => 1}
{"id" => 542}
{"isValid" => false}
{"stepIndex" => 1}
{"type" => "results"}

我有一个React组件,它接受这个Maps数组并呈现输出。我正在尝试使用另一个数据源并将其格式化为上面传递给React组件。

当我使用以下代码创建新地图数组时:

resultsSteps.forEach((item) => {
    const newMapStep = new Map();    
    newMapStep.chartType = 'horizontalBar';
    const itemDescription = item.get('description');
    newMapStep.description = itemDescription;
    newMapStep.featured = 'false';
    newMapStep.detailUrl = '';
    newMapStep.featuredStepIndex = 1;
    const itemId = item.get('id');
    newMapStep.id = itemId;
    newMapStep.isValid = 'false';
    newMapStep.type = 'results';
    const itemOptions = item.get('options');
    newMapStep.data = itemOptions;
    const itemAnswers = item.get('userAnswers');
    newMapStep.userAnswers = itemAnswers;

    newResultsSteps.push(newMapStep);
  });

我在控制台中看到一个看起来不同的Map对象:

enter image description here

Map
chartType
:
"horizontalBar"
data
:
List[4]
description
:
"Everything black"
detailUrl
:
""
featured
:
"false"
featuredStepIndex
:
1
id
:
542
isValid
:
"false"
type
:
"results"
userAnswers
:
List[2]
_c
:
Map(0) {}
size
:
(...)
__proto__
:
Map

...看起来不像它正在取代的那个,它有{''=> '}为每个条目。如何创建与该语法匹配的新Map?

1 个答案:

答案 0 :(得分:0)

您必须使用.set方法

resultsSteps.forEach((item) => {
    const newMapStep = new Map();    
    newMapStep.set('chartType', 'horizontalBar');    
});