亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取json索引下的某一項value值

獲取json索引下的某一項value值

白衣非少年 2019-08-17 21:44:45
已知一個數組,如下:vararr=[{"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='中國'
查看完整描述

2 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

問題1:需要明確下,后端返回的country=0這個0和你前端的那個數組里面的值是不是對應的;比如:我看你的數組里面有個label;api返回的country的值是不是和這個label對應的?還是說后端返回的是數組的角標?
如果是角標:容易解決:直接letcountryObj=arr[country]如果是對應的label,直接letcountryObj=arr.find(item=>item.label===country)
問題2:后端返回這種編碼,沒有合理不合理的,前端做后端做其實差別不大;相對而言前端做其實更好,因為這樣api的使用范圍就更大了。不然你這里要country="名稱";別人可能需要別的
個人見解*
                            
查看完整回答
反對 回復 2019-08-17
?
森林海

TA貢獻2011條經驗 獲得超2個贊

沒有明顯的數據對應關系,不是很理解。我理解是,從根據要顯示的語言,從arr數組中轉換成一個對應語言的集合,不知道是不是這樣?
如果是的話,假定語言是tw,那么可以這樣做:
varlan='tw';
varlist=[];
for(variinarr){
list.push(arr[i][lan]);
}
console.log(list);
                            
查看完整回答
反對 回復 2019-08-17
  • 2 回答
  • 0 關注
  • 554 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號