Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将具有键值对的字符串映射到对象_Javascript - Fatal编程技术网

Javascript 将具有键值对的字符串映射到对象

Javascript 将具有键值对的字符串映射到对象,javascript,Javascript,给定以下带有键值对的字符串,如何编写通用函数将其映射到对象 此时此刻,我只是路过:和;获取相关数据,但这似乎不是一个干净的方法 这是我目前的代码: var pd = `id:S76519;sku:S76519;name:StarGazer 3000;model:ICC74`; var tempPd = pd.split(';'); for (i = 1; i < tempPd.length; i++) { var b = tempPd[i].split(':'); cons

给定以下带有键值对的字符串,如何编写通用函数将其映射到对象

此时此刻,我只是路过:和;获取相关数据,但这似乎不是一个干净的方法

这是我目前的代码:

var pd = `id:S76519;sku:S76519;name:StarGazer 3000;model:ICC74`;
var tempPd = pd.split(';');
for (i = 1; i < tempPd.length; i++) {
    var b = tempPd[i].split(':');
    console.log(b[1]);
}

使用reduce如何:

函数objectifystr{ 返回str.split;.reducefunction对象,项{ var a=项目。拆分:; obj[a[0]]=a[1]; 返回obj; }, {}; } var strObj=id:S76519;sku:S76519;名称:星探3000;型号:ICC74;
console.logobjectifystrObj;你所做的几乎是你唯一能做的。如果您有一个字符串,并且希望根据希望找到的语法提取信息,那么您可以解析该字符串并构建一个数据结构;和:在键和值中,为什么不呢?您能显示当前正在使用的代码吗?如果不看看你已经得到了什么,就很难知道是否有更干净的方法。@StriplingWarrior这是我目前的方法,因为前两个值是相同的,我从1开始递增。效果很好。非常感谢。