简体   繁体   中英

String to Object literal

Is it possible to convert a string var:

 data="data1,data2,data3,data4"

to an object literal

data={
"data1":"data2",
"data3":"data4"
}

Thank you!

var arr = data.split(',');
var parsedData = {};
for (var i = 0; i < arr.length; i += 2) {
    parsedData[arr[i]] = arr[i + 1];
}

This is trivial:

function object_from_string(str) {
   var parts = str.split(','),
       obj   = {};
   for(var i = 0, j = parts.length; i < j; i+=2;) {
       obj[parts[i]] = parts[i+1];
   }
   return obj;
}

var data = "data1,data2,data3,data4";
var obj = object_from_string(data);
for(var k in obj) {
   if(obj.hasOwnProperty(k)) {
      console.log(k + ' = ' + obj[k]);
   }
}

Output:

data1 = data2
data3 = data4

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM