我想將 Javascript 物件轉換為不同的形式。讓我們舉個例子。
可能我有這樣的物件,
[
{
"_id": 1,
"name": "abc",
"sub": [
"bbb",
"ccc"
]
},
{
"_id": 8,
"name": "abc1",
"sub": [
"bbb1"
]
},
{
"_id": 11,
"name": "abc"
}
]
我想像下面這樣轉換它,
[
{
"_id": 1,
"name": "abc",
"sub": [
{
"sub": "bbb"
},
{
"sub": "ccc"
}
]
},
{
"_id": 8,
"name": "abc1",
"sub": [
{
"sub": "bbb1"
}
]
},
{
"_id": 11,
"name": "abc"
}
]
我的代碼看起來像這樣,
x.map(({ sub }) => ({ sub: sub }));
如果我嘗試這個,我會得到這樣的結果,
[{"sub":["bbb","ccc"]},{"sub":["bbb1"]},{}]
誰能幫我解決這個問題。謝謝。
uj5u.com熱心網友回復:
將Array.prototype.map()與擴展運算子一起使用兩次
let a = [
{
"_id": 1,
"name": "abc",
"sub": [
"bbb",
"ccc"
]
},
{
"_id": 8,
"name": "abc1",
"sub": [
"bbb1"
]
},
{
"_id": 11,
"name": "abc"
}
]
let b = a.map((el) => {
if(el.sub){
let c = el.sub.map(el2 => {
return {sub: el2}
})
el = {...el,sub: c}
}
return el;
})
console.log(b)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/409767.html
標籤:
