Heim > Fragen und Antworten > Hauptteil
Frage: Im Projekt sieht das vom Backend übergebene Datenformat so aus. Wie erhalte ich den Wert in BYMONTH?
INTERVAL=8;BYMONTH=9;BYMONTHDAY=17
Denken: Eine einfache Methode, die mir eingefallen ist, besteht darin, es in JSON zu analysieren:
var str = "INTERVAL=8;BYMONTH=9;BYMONTHDAY=17";
var fiStr = '"' + str.replace(/=/g,'":"').replace(/;/g,'","');
var lastST = '{' + fiStr + '"}';
var Obj = JSON.parse(lastST);
console.log(Obj.BYMONTH)
Frage:
Wie soll ich mit diesem Datenformat umgehen?
怪我咯2017-06-30 09:58:44
var res = {};
str.split(';').map(function(v){
var i = v.split('=');
res[i[0]]=i[1];
});
console.log(res['BYMONTH']);
黄舟2017-06-30 09:58:44
function getUrlParam(sUrl, sKey) {
var result,Oparam = {};
sUrl.replace(/[\;]?(\w+)=(\w+)/g,function($0,$1,$2){
Oparam[$1]=$2;
});
sKey === void 0||sKey==='' ? result=Oparam : result=Oparam[sKey]||'';
return result;
}
getUrlParam("INTERVAL=8;BYMONTH=9;BYMONTHDAY=17","BYMONTH") //9