JSON配列を変換する方法
[
{
"travelExpenseId":11,
"tripId":2,
"paymentPurpose":"some payment purpose 2",
"receiptNumber":"EF12312_2",
"receiptDate":"2018-09-30T00:00:00",
"receiptPrice":107000.0,
"receiptCurrency":"руб."
},
{
"travelExpenseId":10,
"tripId":2,
"paymentPurpose":"some payment purpose 1",
"receiptNumber":"EF12312_1",
"receiptDate":"2018-09-30T00:00:00",
"receiptPrice":107000.0,
"receiptCurrency":"руб."
}
]
travelExpenseIdで費用をすばやく取得し、tripIdで費用を取得するのに適したものに。
今、私はこのようなものを使用します:
export const expenseSchema = new schema.Entity('expenses', {}, { idAttribute: 'travelExpenseId' });
export const expensesListSchema = [expenseSchema];
そして結果を得る:
data: {
entities: {
expenses: {
'10': {
travelExpenseId: 10,
tripId: 2,
paymentPurpose: 'some payment purpose 1',
receiptNumber: 'EF12312_1',
receiptDate: '2018-09-30T00:00:00',
receiptPrice: 107000,
receiptCurrency: 'руб.'
},
'11': {
travelExpenseId: 11,
tripId: 2,
paymentPurpose: 'some payment purpose 2',
receiptNumber: 'EF12312_2',
receiptDate: '2018-09-30T00:00:00',
receiptPrice: 107000,
receiptCurrency: 'руб.'
}
}
},
result: [
11,
10
]
}
追加のスキーマ
expensesByTripId
を追加したいdata.entitiesに対して、結果は次のようになります。
data: {
entities: {
expensesByTripId: {
'2': [10, 11],
},
expenses: {
'10': {
travelExpenseId: 10,
tripId: 2,
paymentPurpose: 'some payment purpose 1',
receiptNumber: 'EF12312_1',
receiptDate: '2018-09-30T00:00:00',
receiptPrice: 107000,
receiptCurrency: 'руб.'
},
'11': {
travelExpenseId: 11,
tripId: 2,
paymentPurpose: 'some payment purpose 2',
receiptNumber: 'EF12312_2',
receiptDate: '2018-09-30T00:00:00',
receiptPrice: 107000,
receiptCurrency: 'руб.'
}
}
},
result: [
11,
10
]
}
または、私の場合に適した他の方法を提供してください
回答 1 件
関連した質問
- React:アクションはプレーンオブジェクトでなければなりません
- TypeError:react-reduxで未定義のプロパティ 'map'を読み取れません
- Reduxで未定義のプロパティ「タイプ」を読み取れません
- redux-toolkitのcreateSliceメソッドを使用して、さまざまなレデューサー関数で単一アクションタイプを使用する方法
- ReduxからのReact状態の更新により、最大更新深度がエラーを超えました
- React-Redux:ネストされた配列を別の配列に割り当てるアクションをディスパッチしようとしているときに無効なフック呼び出し
- javascriptプロパティが挿入されたURLをフェッチしますが、UTF-8文字がコンソールに表示され続け、404が発生します
- NextJsはサーバー側のレンダリングを介してFacebookタグをレンダリングします
- React Nativeエラー失敗したプロップタイプ:タイプ `array`の無効なプロップ` children`が `Overlay`に提供されました。
- svg要素の幅と高さを制御する方法
どのように
Normalizr
がわからない 動作しますが、私はVanillaJSを使用して要件に応じてカスタムメイドします