簡體   English   中英

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

[英]string to list in special format in Javascript

我有一個包含逗號分隔名稱和可選值的字符串,這些值分隔了這樣的值:

var str = "PowerOn:On,ValidLocation, temp:25";

我想將它轉換為可以通過名稱訪問值的對象或json,如下所示:

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

要么

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

注1:如果名稱沒有值,則默認為true。

更新:

注2:如果列表中不存在名稱,則其值為false:ex:

var a = {"PowerOn":"On", "ValidLocation":"true", "temp":25};
var result = a.Alarm 
//result must be false
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;
}

的jsfiddle

假設分隔符保持不變,這是否適合您:

var result = {}; 

"PowerOn:On,ValidLocation, temp:25".split(",").forEach(function(i) { 
           result[(i=i.split(":"))[0]]=i[1] || true; 
});

// result : {PowerOn: "On", ValidLocation: true,  temp: "25"}

對你問題的第二部分使用!!result.Alarm應該是false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM