gpt4 book ai didi

javascript - javascript 中未定义的键值对

转载 作者:行者123 更新时间:2023-11-29 18:19:24 25 4
gpt4 key购买 nike

出于某种原因,我有这样一个字符串:

"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 Debug模式下,我看到了预期的对象,但是当我想访问其中一个元素时,例如:

console.log(obj.title);

我得到了未定义的...

我做错了什么?

最佳答案

这是因为你的键名中有一个空格:

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

要解决此问题,请将您的第一个拆分更改为拆分 "," 而不是 ",":

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

JSFiddle demo .

作为进一步的修复,您还需要将第二个拆分更改为拆分 ": " 而不仅仅是 ":",否则您的所有值都将以空格开头。

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

关于javascript - javascript 中未定义的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20238674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com