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