Javascript 如何使用lodash的u.get方法测试多条路径?
使用以下JSON对象,如何在lodash的一个Javascript 如何使用lodash的u.get方法测试多条路径?,javascript,reactjs,lodash,Javascript,Reactjs,Lodash,使用以下JSON对象,如何在lodash的一个\uGet方法中为每个下拉列表传递“datapath”属性 JSON "dropdownList": { "dropdown1": { "text":"Disaster", "datapath":"data.disaster" }, "dropdown2": { &qu
\uGet
方法中为每个下拉列表传递“datapath
”属性
JSON
"dropdownList": {
"dropdown1": {
"text":"Disaster",
"datapath":"data.disaster"
},
"dropdown2": {
"text":"Process",
"datapath":"data.process"
},
"dropdown3": {
"text":"Subqueue",
"datapath":"data.subqueue"
}
}
例如,这就是我现在拥有的,它只包含dropdown1的数据路径:
const mapStateToProps = (state, ownProps) => {
let data = _.get(state, ownProps.dropdownList.dropdown1.datapath);
if (data == null) {
data = _.get(state, "common." + ownProps.dropdownList.dropdown1.datapath);
}
let options = _.get(
state,
ownProps.dropdownList.dropdown1.datapathRead,
_.get(state, "common." + ownProps.dropdownList.dropdown1.datapathRead, {
key: "key",
value: "value",
text: "text",
})
);
return { data: data, datapathOptions: options };
};
如何更好地编写上述代码,以便在同一个get方法中为所有3个下拉列表传递数据路径?使用以下代码将JSON对象转换为JSON数组
const newData = [...ownProps.dropdownList];
并将newData
传递给您的方法,您可以在其中使用任何循环来完成简单的工作