javascript - 怎么操作數組去分割冒號取出對應的值。
問題描述
['1001001:95', '1001002:100', '1001003:35', '1001004:37.5', '1001005:60', '1001006:100', '1001007:90', '1001008:140', '1001009:60', '1001010:90']
怎么去優雅的操作數組,取出冒號前后的數字并匹配在一起?不好意思,沒表述清楚;我需要獲取到冒號后面的數字,我整體了一下思路。
if(1001001) { var value == 95}
問題解答
回答1:var obj = {};arr.forEach(function(item) { item = item.split(’:’) obj[item[0]] = item[1];});回答2:
按照你的if語句來說,如果你單純的想根據冒號前邊的id數字得到冒號后邊的值,那你可以用字符串的indexOf方法加substr方法來實現。
var array = ['1001001:95', '1001002:100', '1001003:35', '1001004:37.5', '1001005:60', '1001006:100', '1001007:90', '1001008:140', '1001009:60', '1001010:90'];var number = '1001001';var value = '';for (var i = 0; i < array.length; i ++) { if(array[i].indexOf(number)!= -1){var index = array[i].indexOf(':');value = array[i].substr(index + 1, array[i].length); }}回答3:
數組遍歷,針對每一個元素做一次 : 分割,將分割后的元素放到一個新數組里。
回答4:我也不知道是不是應該這樣搞啊,到時候取的話直接用key取就可以了
var a = ['1001001:95', '1001002:100', '1001003:35', '1001004:37.5', '1001005:60', '1001006:100', '1001007:90', '1001008:140', '1001009:60', '1001010:90'];function getResult(a,key){ var b = []; var c = {}; for(var i = 0;i < a.length; i++){b = a[i].split(':');c[b[0]] = b[1]; } return c[key];}console.log(getResult(a,1001001));
頁面可以直接用
$scope.spo_high = getResult(arr,data[0]);回答5:
const array = ['1001001:95', '1001002:100', '1001003:35', '1001004:37.5', '1001005:60', '1001006:100', '1001007:90', '1001008:140', '1001009:60', '1001010:90'];let result = array.reduce((a,b)=>{ let [key,value] = b.split(’:’); a[key] = value; return a;},{});console.log(result[’1001001’]);// 95回答6:
data = data.split(’:’) if(data[0] == 1001001) {$scope.spo_low = data[1]; }else if(data[0] == 1001002){$scope.spo_high = data[1]; }else if(data[0] == 1001003) {$scope.temp_low = data[1]; }else if(data[0] == 1001004) {$scope.temp_high = data[1]; }else if(data[0] == 1001005) {$scope.plus_low = data[1]; }else if(data[0] == 1001006) {$scope.plus_high = data[1]; }else if(data[0] == 1001007) {$scope.sbp_low = data[1]; }else if(data[0] == 1001008) {$scope.sbp_high = data[1]; }else if(data[0] == 1001009) {$scope.dbp_low = data[1]; }else if(data[0] == 1001010) {$scope.dbp_high = data[1]; }
我這樣編寫各位大神看看這樣有什么不妥?
相關文章:
1. docker不顯示端口映射呢?2. docker-compose 為何找不到配置文件?3. docker內創建jenkins訪問另一個容器下的服務器問題4. css3 - viewport和@media的區別是什么5. javascript - 請教移動端從詳情頁返回到列表頁原來位置的問題?6. 如何解決Centos下Docker服務啟動無響應,且輸入docker命令無響應?7. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?8. javascript - 微信網頁開發從菜單進入頁面后,按返回鍵沒有關閉瀏覽器而是刷新當前頁面,求解決?9. 老師您的微信號是多少?10. css3 - css做動畫效果
