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对象:
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?
答案 0 :(得分:0)
您必须使用.set方法
resultsSteps.forEach((item) => {
const newMapStep = new Map();
newMapStep.set('chartType', 'horizontalBar');
});