簡體   English   中英

javascript中未定義的鍵/值對

[英]key-value pair undefined in javascript

由於某種原因,我有一個像這樣的字符串:

"id: 123, title: something, category: science, ... "

為了制作一個包含鍵值對的javascript對象,我編寫了以下方法:

function stringToMap(stringToCut){
    var map = {};
    var listOfPairs = stringToCut.split(",");
    for(var i = 0; i < listOfPairs.length; i++){
        var pair = listOfPairs[i].split(":");
        map[pair[0]] = pair[1];
    }

    return map;

}

請務必使用圓點而不是[]括號來訪問它。 在chrome調試模式下,我看到了預期的對象,但是當我想訪問它的元素之一時,例如:

console.log(obj.title);

我不確定...

我究竟做錯了什么?

這是因為您的鍵名中有一個空格:

console.log(obj[" title"]); // "something"

為了解決這個問題,改變你先拆拆就", "而不是僅僅","

var listOfPairs = stringToCut.split(", ");

JSFiddle演示

作為進一步的修正,你還需要改變你的第二分割拆就": "而不僅僅是":" ,否則所有的值將會以空格開頭。

var pair = listOfPairs[i].split(": ");

暫無
暫無

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

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