Javascript 如何从对象数组中创建键值对对象字符串?
我有一个来自后端的对象列表,如下所示Javascript 如何从对象数组中创建键值对对象字符串?,javascript,Javascript,我有一个来自后端的对象列表,如下所示 const paramData = [ {id: "search_type", value: "All items", required: true}, {id: "time_period", value: "Week", required: false}, {id: "user_type", value: "All Us
const paramData = [
{id: "search_type", value: "All items", required: true},
{id: "time_period", value: "Week", required: false},
{id: "user_type", value: "All Users", required: false},
{id: "question_type", value: "Multiple questions", required: true},
];
const extractedData = "{\"search_type\": \"All items\", \"time_period\": \"Week\", \"user_type\": \"All Users\", \"question_type\": \"Multiple questions\"}";
我只想提取每个对象的id
和value
键的值,并制作如下内容
const paramData = [
{id: "search_type", value: "All items", required: true},
{id: "time_period", value: "Week", required: false},
{id: "user_type", value: "All Users", required: false},
{id: "question_type", value: "Multiple questions", required: true},
];
const extractedData = "{\"search_type\": \"All items\", \"time_period\": \"Week\", \"user_type\": \"All Users\", \"question_type\": \"Multiple questions\"}";
实现这一目标的最佳方法是什么?您可以使用reduce
const extractedData = paramData.reduce((obj, item) => {
obj[item.id] = item.value
return obj
}, {})
请参阅详细说明
我还强烈推荐map
和filter
。使用reduce
,它们是3颗星阵列您可以使用reduce
const extractedData = paramData.reduce((obj, item) => {
obj[item.id] = item.value
return obj
}, {})
请参阅详细说明
我还强烈推荐
map
和filter
。使用reduce
,它们是阵列中的三星ilkerkaran的替代解决方案可以是:
const paramData=[{
id:“搜索类型”,
值:“所有物品”,
必填项:true
}, {
id:“时间段”,
值:“周”,
必填项:false
}, {
id:“用户类型”,
值:“所有用户”,
必填项:false
}, {
id:“问题类型”,
值:“多个问题”,
必填项:true
},];
var extractedData=“”;
for(paramData中的var i){
extractedData+=`“${paramData[i].id}”:“${paramData[i].value}”,`;
}
extractedData=`{${extractedData.slice(0,-2)}}}`;
控制台日志(提取数据)代码>ilkerkaran的替代解决方案可以是:
const paramData=[{
id:“搜索类型”,
值:“所有物品”,
必填项:true
}, {
id:“时间段”,
值:“周”,
必填项:false
}, {
id:“用户类型”,
值:“所有用户”,
必填项:false
}, {
id:“问题类型”,
值:“多个问题”,
必填项:true
},];
var extractedData=“”;
for(paramData中的var i){
extractedData+=`“${paramData[i].id}”:“${paramData[i].value}”,`;
}
extractedData=`{${extractedData.slice(0,-2)}}}`;
控制台日志(提取数据)代码>