要在Javascript中以特殊格式列出的字符串

ArM*_*MaN 5 javascript jquery

我有一个包含逗号分隔名称和可选值的字符串,这些值分隔了这样的值:

var str = "PowerOn:On,ValidLocation, temp:25";
Run Code Online (Sandbox Code Playgroud)

我想将它转换为可以通过名称访问值的对象或json,如下所示:

var a = {"PowerOn":"On", "ValidLocation":"true", "temp":25};
var result = a.PowerOn;
alert(result);
Run Code Online (Sandbox Code Playgroud)

要么

var a = {"PowerOn":"On", "ValidLocation":"true", "temp":25};
var result = a["PowerOn"];
alert(result);
Run Code Online (Sandbox Code Playgroud)

注1:如果名称没有值,则默认为true.

更新:

注2:如果列表中不存在名称,则其值为false:ex:

var a = {"PowerOn":"On", "ValidLocation":"true", "temp":25};
var result = a.Alarm 
//result must be false
Run Code Online (Sandbox Code Playgroud)

ade*_*neo 7

var str = "PowerOn:On,ValidLocation, temp:25",
    arr = str.split(','),
    obj = {}

for (var i=0; i<arr.length; i++) {
    var parts = arr[i].split(':');
    obj[parts[0]] = parts[1] || true;
}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle