У меня есть три массива. Array1: поля, Array2: конфигурация, Array3: defaultChartType
Мне нужно сравнить атрибут «name» из объектов массива полей с «мерами» объекта массива config. Если совпадает, объект конфигурации должен быть обновлен с меткой поля объекта.
Если какой-либо объект атрибута name из полей не существует в объекте config, его следует добавить в массив config как новый объект с объектом defaultchatType.
fields.map((measure) => {
let Measures = [];
Measures = config.map((k) =>
k.measures.map((val) => {
if (measure.name.indexOf(val) < 0) return null;
return k;
})
);
console.log(Measures, 'measuresmeasures');
return null;
});
var defaultChartType={
type:"line",
line: {
color: '#00ADFF',
width: 4,
},
}
var fields= [
{
name: ['Book1History','Book1Projected'],
label: 'Book1',
},
{
name: ['Book2Projected'],
label: 'Book2',
},
{
name: ['Book3History','Book3Projected'],
label: 'Book3',
},
{
name: ['Book4'],
label: 'Book4',
}
]
var config= [
{
measures: ['Book1History', 'Book1Projected'],
type: 'line',
},
{
measures: ['Book2Projected'],
type: 'bar',
},
]
var expectedOutput=[
{
"measures": [
"Book1History",
"Book1Projected"
],
"type": "line",
"label": "Book1"
},
{
"measures": [
"Book2Projected"
],
"type": "bar",
"label": "Book2"
},
{
"measures": [
"Book3History",
"Book3Projected"
],
"label": "Book3",
"type": "line",
"line": {
"color": "#00ADFF",
"width": "4"
}
},
{
"measures": [
"Book4"
],
"label": "Book4",
"type": "line",
"line": {
"color": "#00ADFF",
"width": "4"
}
}
]