最近在写前端的时候碰到一种比较"偏门"的数据格式,大致如下:
data: {<br />
civil: {<br />
0: '3000-4500',<br />
},<br />
criminal: {<br />
0: '1500',<br />
1: '2000',<br />
2: '3000',<br />
},<br />
administrative: {<br />
0: '2500-3750',<br />
},<br />
charge: {<br />
0: {<br />
'0-2': '800',<br />
},<br />
1: {<br />
'2-10': '4',<br />
},<br />
2: {<br />
'10-50': '3',<br />
},<br />
3: {<br />
'50-100': '2',<br />
},<br />
4: {<br />
'100-500': '1',<br />
},<br />
5: {<br />
'500-1000': '0.5',<br />
},<br />
6: {<br />
'1000-5000': '0.2',<br />
},<br />
7: {<br />
'5000-Infinity': '这是最终的处理方式',<br />
},<br />
},<br />
},
算是一个多维的数组对象?需求大概是这样子的,根据条件分别取到对应层级下的某个key范围内的值,也就是比如我当前条件是要求取charge下的2-10之间的对应值,直接用下标取肯定是不合适的,这个时候呢,就只能用如下的方法去取,(仅记录,可能有更优的方法?欢迎交流)
设定已经把上面格式赋值给了data变量,那么就会有如下代码:
<br />
let charge = data.charge;<br />
Object.values(charge).map((item)=>{<br />
//>Object.keys取下标,也就是取(2-10,10-50)这个下标<br />
console.log(Object.keys(item));<br />
//>Object.values取值,通过条件对比是否在下标范围内,在下标范围内则进行赋值或者对应操作.<br />
console.log(Object.values(item))<br />
})<br />
以上,记录下来防止以后再碰上忘记.欢迎各位大佬指教.