Привет, я трансформирую предметы
Я написал следующую программу, чтобы добавить новое имя в массив
Если вы посмотрите в результатеEvents, в результате отсутствует categoryName и name.
const result2 = {
"resultedEvents": [
{
"categoryName": "Football",
"name": "Arsenal vs Aston Villa",
"resultedMarkets": [
{
"name": "Asian Handicap",
},
]
},
{
"categoryName": "Football",
"name": "Arsenal vs Aston Villa (Live)",
"resultedMarkets": [
{
"name": "Asian Handicap -0.5 (1-3)",
}
]
}
]
}
const data2= result2.resultedEvents.map(items => {
const newResult = items.resultedMarkets.map(function (item) {
const newName = item.name.replace(/( -?\d+([.,]\d+)?)/g, "");
return {...item, newName};
})
return { resultedMarkets: newResult }
}
);
console.info(data2)
Выше программа дает мне следующее
Output
[
{
"resultedMarkets": [
{
"name": "Asian Handicap",
"newName": "Asian Handicap"
}
]
},
{
"resultedMarkets": [
{
"name": "Asian Handicap -0.5 (1-3)",
"newName": "Asian Handicap (1-3)"
}
]
}
]
Expected
{
"resultedEvents": [{
"categoryName": "Football",
"name": "Arsenal vs Aston Villa",
"resultedMarkets": [{
"name": "Asian Handicap",
"newName": "Asian Handicap"
}
]
},
{
"categoryName": "Football",
"name": "Arsenal vs Aston Villa (Live)",
"resultedMarkets": [{
"name": "Asian Handicap -0.5 (1-3)",
"newName": "Asian Handicap (1-3)"
}]
}
]
}
Пожалуйста, помогите мне решить эту проблему, я просто хочу добавить новое имя в результат, остальное должно быть как есть
ты возвращаешься только resultedMarkets
в свой внешний map
просто добавьте ...items
вот так
const result2 = {
"resultedEvents": [
{
"categoryName": "Football",
"name": "Arsenal vs Aston Villa",
"resultedMarkets": [
{
"name": "Asian Handicap",
},
]
},
{
"categoryName": "Football",
"name": "Arsenal vs Aston Villa (Live)",
"resultedMarkets": [
{
"name": "Asian Handicap -0.5 (1-3)",
}
]
}
]
}
const data2= result2.resultedEvents.map(items => {
const newResult = items.resultedMarkets.map( item => {
const newName = item.name.replace(/( -?\d+([.,]\d+)?)/g, "");
return {...item, newName};
})
return {...items, resultedMarkets: newResult }
}
);
console.info(data2)
Имейте в виду, что вы используете обычные объекты JS, а не JSON.