前提・実現したいこと
現在Reactの勉強をしています。
多次元連想配列?JSON形式?をtypeがAの場合の配列のみ残した配列に編集したいのですがどうすればいいでしょうか?
具体的には以下です。
以下の配列をtypeがAだけの配列に編集したいです。
// APIからのレスポンスJSON [ { "id": 1, "name": "甲グループ", "custom": [ { "id": 1, "name": "甲-1", "type": "A" } ] }, { "id": 2, "name": "乙グループ", "custom": [ { "id": 2, "name": "乙-1", "type": "A" }, { "id": 3, "name": "乙-2", "type": "B" } ] } ]
↓ こうしたい(期待値)
// typeがAだけの配列 [ { "id": 1, "name": "甲グループ", "custom": [ { "id": 1, "name": "甲-1", "type": "A" } ] }, { "id": 2, "name": "乙グループ", "custom": [ { "id": 2, "name": "乙-1", "type": "A" } ] } ]
filterでtype=='A'で絞って、mapで配列にするなど検討しましたが、多重になっている状況などもあいまって
少し具体的な実装がイメージができていません。
アドバイスいただけないでしょうか?
###試したこと
以下のように実装してみましたが、配列の中の配列を扱うときにどうしたらいいかわからなくなりました。
https://codepen.io/k49977/pen/eYvrQqL
js
1 2let a=// APIからのレスポンスJSON 3[ 4 { 5 "id": 1, 6 "name": "甲グループ", 7 "custom": [ 8 { 9 "id": 1, 10 "name": "甲-1", 11 "type": "A" 12 } 13 ] 14 }, 15 { 16 "id": 2, 17 "name": "乙グループ", 18 "custom": [ 19 { 20 "id": 2, 21 "name": "乙-1", 22 "type": "A" 23 }, 24 { 25 "id": 3, 26 "name": "乙-2", 27 "type": "B" 28 } 29 ] 30 } 31]; 32 33a = a.filter( function( value,i ) { 34 35 //TODO customが配列のためうまくいかない。配列の中の配列はどうすればいいか 36 return value.custom[i].type == "A"; 37 38}) 39 40console.log(a); 41
で、質問文にあるURLから確認できるソースコードとこの質問の問題点は
解決したことで分からなくなってしまったので、後進の人間にとっては役にも立たないスレッドになります。
修正前のソースコードを質問文に掲載した方が良いかと思います。
(追記6/7 09:48)
貼ってありましたね。上記取り下げます。
回答1件
あなたの回答
tips
プレビュー
