美文网首页
练习例子-forEach和for in结合的例子

练习例子-forEach和for in结合的例子

作者: 浅浅_2d5a | 来源:发表于2021-03-03 17:11 被阅读0次
var arr=[
    {
        'name':'浏览器1',
        '百度':10,
        '360' :30,
        '搜狗':50
    },{
        'name':'浏览器2',
        '百度':20,
        '搜狗':50
    },{
        'name':'浏览器3',
        '百度':30,
        '360' :50,
        '搜狗':50
    }
];

求得结果

var arr2=[
    {'百度':[10,20,30]},
    {'360':[30,50]},
    {'搜狗':[50,50,50]}
]

代码

var result = [];//返回的是一个数组
var json = {};//定义一个大json
arr.forEach((item)=>{
    //item 是每一{}项{'name':'浏览器1','百度':10,'360' :30,'搜狗':50}
    delete item.name;//删除name
    for(let i in item){
        //i 是 '百度'等
        if(!json[i]){ //没有key时候定义value为[]
            json[i] = [];
        }
        json[i].push(item[i])
    }
})
console.log('json',json)
for(let k in json){
    let js = {};
    js[k]=json[k]
    result.push(js);
}
console.log('result',result)

思想:
//当前数组的每一项是对象
//返回结果是数组,返回数组的length 是key的长度减去name
//返回的数组的每一项是json,json的key是原数组每一项json中key,json的value是对应值的数组集合
//数组循环 能找到每一项,每一项进行for in循环拿到 key 和value
//所以数组循环中套for in 循环
//将大的json转化为数组

相关文章

网友评论

      本文标题:练习例子-forEach和for in结合的例子

      本文链接:https://www.haomeiwen.com/subject/yuwqqltx.html