这是一个过滤数据的一个判断函数,当字段为orderStatus和payType的时候进行过滤,其余字段正常输出,代码如下
formatJson: (filterVal, jsonData) => jsonData.map(v => filterVal.map(j => {
switch (j) {
case 'orderStatus':
return vm.statusMap[v[j]]
case 'payType':
return vm.payMap[v[j]]
default:
return v[j]
}
})),
但是发现用switch的写法有点臃肿并且可以感觉可以优化,于是试着用对象的写法,如下
formatJson: (filterVal, jsonData) => jsonData.map(v => filterVal.map(j => ({
'orderStatus': vm.statusMap[v[j]],
'payType': vm.payMap[v[j]]
} || v[j])))
但是这么写的话出现的问题是输出的是对象而不是对象对应的字段,请问这种情况应该昨晚那么做,把switch判断改成对象的方式或者更好的方法进行数据处理?
你构造了类 hashTable 的对象,但是没有从中取值,写法应当如下:
推荐使用 switch ,写法较为直观,而且大规模迭代的时候比较省内存。
hashTable 适用于固定集合的映射,在迭代里不断构造 hashTable 不是明智之举。
在这里用 hashTable 写出来也不是很简短,真的嫌臃肿的话可以级联三目运算符,没有空值的话甚至可以用短路运算。
还有,提问的时候最好给一些测试数据。