次のデータを返すオブジェクトの配列があります。
result [
{name: "Desc", value: "7777 - Florida Hurricane"}
{name: "DSTR_NR", value: "7777"}
{name: "Desc", value: "7172 - Virginia Severe Storm(s)"}
{name: "DSTR_NR", value: "7172"}
{name: "Desc", value: "7002 - Maryland Hurricane"}
{name: "DSTR_NR", value: "7002"}
]
getProcessList()
応答が成功したら、災害番号でプロセスリストをフェッチするために、パラメータとして災害番号をメソッドに渡す必要があります。
if (response.type == API_DISASTER_BY_ID_GET_SUCCESS) {
this.getProcessList();
}
上記の応答出力に基づいて、「DSTR_NR
」(災害番号)をメソッドに適切に渡すにはどうすればよいですか?
更新
災害ドロップダウンからどの災害を選択してgetProcessList()
も、対応するプロセスのリストをプロセスドロップダウンにフェッチできるように、その災害値のみをメソッドに渡す必要があります。
<Dropdown
placeholder={placeholder}
search
selection
clearable
options={options}
value={this.state.value}
style={style}
onChange={(e, d) => {
let result = d.options.filter(d => d.value === 'DSTR_NR');
console.log(result)
this.setState({ value: result });
this.props.saveReduxData(datapath, result);
}}
/>
を使用して、応答からオブジェクトの配列をフィルタリングできますArray.prototype.filter
。次に、それらの「DSTR_NR」オブジェクトからメソッドに値を渡すことができます。value
フィルタリングされたオブジェクトの配列内の各キーの値のみを取得する場合は、を使用しますArray.prototype.map
。
let result = [
{name: "Desc", value: "7777 - Florida Hurricane"},
{name: "DSTR_NR", value: "7777"},
{name: "Desc", value: "7172 - Virginia Severe Storm(s)"},
{name: "DSTR_NR", value: "7172"},
{name: "Desc", value: "7002 - Maryland Hurricane"},
{name: "DSTR_NR", value: "7002"}
];
// array of "DSTR_NR" key-value pairs
let disasterVals = result.filter(i => i.name === "DSTR_NR");
console.log(disasterVals);
// array of `value`'s
let values = disasterVals.map(i => i.value);
console.log(values);
function someMethod(val) {
return "Disaster Val: " + val;
}
// access value from array of objects
console.log(someMethod(disasterVals[0].value));
// or access value from array of `value`'s
console.log(someMethod(values[1]));
console.log(someMethod(values[2]));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加