从对象数组中取出某个属性相同的对象

上传人:鲁** 文档编号:468062069 上传时间:2023-05-05 格式:DOC 页数:2 大小:80.50KB
返回 下载 相关 举报
从对象数组中取出某个属性相同的对象_第1页
第1页 / 共2页
从对象数组中取出某个属性相同的对象_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《从对象数组中取出某个属性相同的对象》由会员分享,可在线阅读,更多相关《从对象数组中取出某个属性相同的对象(2页珍藏版)》请在金锄头文库上搜索。

1、从对象数组中取出某个属性相同的对象输入:type:a,value:1,type:b,value:2,type:a,value:3,type:b,value:9目标:type:a,value:4,type:b,value:11思路一(较简便)functionsumByType(arr)letobj=arr.forEach(item)=consoleog(obj,item.type,item.value)if(objitem.type!=undefined)objitem.type+=item.valueelseobjitem.type=item.value)returnObject.keys(o

2、bj).map(key)=returntype:key,value:objkey)sumByType(type:a,value:1,type:b,value:2,type:a,value:3,type:b,value:9)思路二functionsumByType(arr)if(arr.1ength=0)returnarrif(!Array.isArray(arr)returnarrif(!arr.every(item)=item.type&item.value&typeofitem.type=string&item.type.constructor=String&typeofitem.valu

3、e=number&!isNaN(item.value)returnarrlettypes=arr.map(item)=returnitem.type)types=Array.from(newSet(types)returntypes.map(type)=letsametypeArr=arr.filter(item)=item.type=type)returnsametypeArr.reduce(pre,cur,index)=cur.value=pre.value+cur.valuereturncur,type:sametypeArr0.type,value:0)sumByType(type:a,value:1,type:b,value:2,type:a,value:3,type:b,value:9)思路二解析1先判断参数格式是否符合标准* 2.遍历数组得到所有的type并去重=获得types:a,b* 3遍历arr,把type相同的对象取出作为新的数组=获得sametypeArr:如type:a,value:1,type:a,value:3的数组* 4.遍历sametypeArr把value相加获得某个type的对象type:a,value:45返回这个对象组成新的数组,即所求结果

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号