Javascript 按特定要求拆分阵列
我正在学习使用js。我将数组分组。但现在我需要拆分数组 我有一个分组的JSON数组。比如,Javascript 按特定要求拆分阵列,javascript,underscore.js,Javascript,Underscore.js,我正在学习使用js。我将数组分组。但现在我需要拆分数组 我有一个分组的JSON数组。比如, var arr=[{“key”:“A”,“value”:[“erdem”,“metin”,“tamer”,“hüseyin”]}] 我希望这就是结果 var arr = [{"key" : "A", "value" : "erdem"},{"key" : "A", "value" : "metin"},{"key" : "A", "value" : "tamer"},{"key" : "A", "valu
var arr=[{“key”:“A”,“value”:[“erdem”,“metin”,“tamer”,“hüseyin”]}]
我希望这就是结果
var arr = [{"key" : "A", "value" : "erdem"},{"key" : "A", "value" : "metin"},{"key" : "A", "value" : "tamer"},{"key" : "A", "value" : "hüseyin"}]
如果你告诉我怎么做,我很高兴。@forguta你可以使用此方法获得所需的输出
var arr = [{"key": "A", "value": ["erdem", "metin", "tamer", "hüseyin"]}]
_.map(arr,function(item){
var temp=[];
_.map(item.value, function(x){
temp.push({key: item.key, value: x});
});
return temp;
});
您也可以在不使用temp变量的情况下获得结果(缩写)
香草JS,不带下划线/lodash:
var-arr=[
{“key”:“A”,“value”:[“erdem”,“metin”,“tamer”,“hüseyin”],
{“键”:“B”,“值”:[“foo”,“bar”]}
];
//创建修改过的对象数组
var result=arr.map(item=>item.value.map(v=>({key:item.key,value:v}));
//打印结果
console.log([].concat(…result))
如何减少主数组,然后用一个初始空数组对每个结果数组进行压缩
arr.reduce((i,o)=>i.concat(o.value.map(v=>({key:o.key,value:v})),[])代码>
var-arr=[
{“key”:“A”,“value”:[“erdem”,“metin”,“tamer”,“hüseyin”],
{“键”:“B”,“值”:[“foo”,“bar”]}
];
var res=arr.reduce((i,o)=>i.concat(o.value.map(v=>({key:o.key,value:v})),[]);
控制台日志(res)代码>到目前为止您尝试了什么?我无法尝试,因为我不知道使用什么。如果有任何简单的例子或辅助文档我可以做到这一点,我会毫不犹豫地尝试@Mariosantini认为您应该尝试这样的方法:\uu.flatte(\uu.map(yourArr,theSplitFunction),true)代码>
_.map(arr,function(item){
return _.map(item.value, function(x){
return {key: item.key, value: x};
});
});