如何把arr转换成fruit格式的对象,并且把{ memo: '', name: '' }替换成{ name: "香蕉", memo: "甜" }, { name: "苹果", memo: "甜" },最终形成newObj格式的对象
let fruit = {
水果: [{ memo: '', name: '' }],
零食: [{ memo: '', name: '' }],
蔬菜: [{ memo: '', name: '' }],
其他: [{ memo: '', name: '' }]
}
let arr = [
{ name: "菠菜", memo: "甜", type: "蔬菜" },
{ name: "炸鸡", memo: "甜", type: "其他" },
{ name: "薯片", memo: "甜", type: "零食" },
{ name: "香蕉", memo: "甜", type: "水果" },
{ name: "果冻", memo: "甜", type: "零食" },
{ name: "苹果", memo: "甜", type: "水果" },
{ name: "泡菜", memo: "甜", type: "蔬菜" },
]
let newObj = {
水果: [{ name: "香蕉", memo: "甜" }, { name: "苹果", memo: "甜" }],
零食: [{ name: "薯片", memo: "甜" }, { name: "果冻", memo: "甜" }],
蔬菜: [{ name: "菠菜", memo: "甜" }, { name: "泡菜", memo: "甜" }],
其他: [{ name: "炸鸡", memo: "甜" },]
}
循环数组直接添加即可
你题目的解答代码如下:
let arr = [
{ name: "菠菜", memo: "甜", type: "蔬菜" },
{ name: "炸鸡", memo: "甜", type: "其他" },
{ name: "薯片", memo: "甜", type: "零食" },
{ name: "香蕉", memo: "甜", type: "水果" },
{ name: "果冻", memo: "甜", type: "零食" },
{ name: "苹果", memo: "甜", type: "水果" },
{ name: "泡菜", memo: "甜", type: "蔬菜" },
]
let newObj = {
水果: [],
零食: [],
蔬菜: [],
其他: []
}
arr.forEach(function(v, i){
newObj[v.type].push({ name: v.name, memo: v.memo });
});
console.log(newObj);
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
let fruit = {
水果: [{ memo: '', name: '' }],
零食: [{ memo: '', name: '' }],
蔬菜: [{ memo: '', name: '' }],
其他: [{ memo: '', name: '' }]
}
let arr = [
{ name: "菠菜", memo: "甜", type: "蔬菜" },
{ name: "炸鸡", memo: "甜", type: "其他" },
{ name: "薯片", memo: "甜", type: "零食" },
{ name: "香蕉", memo: "甜", type: "水果" },
{ name: "果冻", memo: "甜", type: "零食" },
{ name: "苹果", memo: "甜", type: "水果" },
{ name: "泡菜", memo: "甜", type: "蔬菜" },
]
fruit = {
水果: [],
零食: [],
蔬菜: [],
其他: []
}
for (let key in arr) {
var k=arr[key].type
fruit[k].push({ name: arr[key].name, memo: arr[key].memo });
}
console.log(fruit);
结果如下:
也可以这么写:
let fruit = {
水果: [{ memo: '', name: '' }],
零食: [{ memo: '', name: '' }],
蔬菜: [{ memo: '', name: '' }],
其他: [{ memo: '', name: '' }]
}
let arr = [
{ name: "菠菜", memo: "甜", type: "蔬菜" },
{ name: "炸鸡", memo: "甜", type: "其他" },
{ name: "薯片", memo: "甜", type: "零食" },
{ name: "香蕉", memo: "甜", type: "水果" },
{ name: "果冻", memo: "甜", type: "零食" },
{ name: "苹果", memo: "甜", type: "水果" },
{ name: "泡菜", memo: "甜", type: "蔬菜" },
]
for (let key in arr) {
var k=arr[key].type
if(fruit[k][0].memo==''){
fruit[k]=[];
}
fruit[k].push({ name: arr[key].name, memo: arr[key].memo });
}
console.log(JSON.stringify(fruit,null,4));
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!