У меня есть массив объектов, который имеет некоторые значения. Примеры:
bigArray: [
{
greatName: 'Name String - #1',
array: [{
id: 1,
name: 'string name - #1'
}]
},
{
greatName: 'Name String - #2',
array: [{
id: 2,
name: 'string name - #2'
}]
},
{
greatName: 'Name String - #3',
array: [{
id: 3,
name: 'string name - #3'
}]
}
]
Я использовал следующие составные функции из ramda, чтобы получить все значения свойств массивов array
и объединить их в один массив:
const extractRB = compose(
flatten,
map(props(['array']))
);
, что дало мне обратно следующий массив:
// Flatten Array:
flatten: [
{
id: 1,
name: 'string name - #1'
},
{
id: 2,
name: 'string name - #2'
},
{
id: 3,
name: 'string name - #3'
}
]
Теперь это требование для моей функции. ПРОБЛЕМА: мне также нужно greatName
, значение свойства внутри каждого объекта, чтобы отобразить их. Но я не могу найти способ на самом деле получить правильные значения внутри объекта ..
Чего я хочу добиться, так это массива объектов. Keep in mind that I can have dozens of Objects in Big Array, and hundrends of Objects inside each child array
:
// Flatten Array:
flatten: [
{
id: 1,
name: 'string name - #1'
greatName: 'Name String - #1',
},
{
id: 2,
name: 'string name - #2',
greatName: 'Name String - #2',
},
{
id: 3,
name: 'string name - #3',
greatName: 'Name String - #3',
}
]
Я сделал это, расширяя исходный объект из массива сглаживания и добавляя к нему свойство greatName
, но вычисляя, какое значение является правильным для каждого объекта. Нет общего значения между объектом и массивом для условия:
flatten.map(flatObj => {...flatObj, greatName: bigArray.map(// what operation can I do here, to get the correct value for each object inside the `bigArray` )});
Я пробовал довольно много условных операций, но они всегда будут возвращать false. Майн есть способ сделать это с длиной каждого array
, но не уверен, как это сделать.
Помощь будет принята с благодарностью .. !! Спасибо !!