已知一个数组,如下:
var arr = [{ "label": 0, "tw": "中國", "en": "China", "zh": "中国" }, { "label": 1, "tw": "安哥拉", "en": "Angola", "zh": "安哥拉" }, { "label": 2, "tw": "阿富汗", "en": "Afghanistan", "zh": "阿富汗" }...]
现在要根据后台返回的 country来获取对应的值,这个country是不固定的,比如当 country=0 的时候,country='中国'。当country=2的时候,country='阿富汗'。依次类推
我该怎么办呢,后台不返回直接字符串,要前端去转换,还有根据语言去转换
另外再问一下,这种工作的话,是前端去做还是后台直接返回country='阿富汗'或country='中国'
问题1:
需要明确下,后端返回的 country=0 这个0 和你前端的那个数组里面的值是不是对应的;
比如:我看你的 数组里面有个 label; api返回的country的值是不是和 这个
label
对应的? 还是说后端返回的是数组的角标?如果是角标:容易解决:直接
let countryObj = arr[country]
如果是对应的label,直接
let countryObj = arr.find(item=>item.label === country)
问题2:
后端返回这种编码,没有合理不合理的,前端做后端做其实差别不大;相对而言前端做其实更好,因为这样api的使用范围就更大了。不然你这里要
country="名称"
;别人可能需要别的