javascript - 使用javascript从管道分隔的字符串中提取键和值

标签 javascript

我有一个管道分隔格式的字符串,如下所示

var request = "Country : India|Location : Mumbai|Attachment:Photo.png";

当我进行拆分时,它会给出以下输出

var p = request.split("|");

(
"Country : India",
"Location : Mumbai",
"Attachment : Photo.png"
)

如何提取键及其各自的值? 整个值都在引号中。 请帮忙

最佳答案

您可以在request.split("|")Array.reduce 并返回基于键值的对象。

var obj = request.split("|").reduce(function(o, c){
   var arr = c.split(":");
   return o[arr[0].trim()] = arr[1].trim(), o; // comma operator
},{});

当你通过 console.log(obj) 记录它时,你会得到

{ Country: "India", Location: "Mumbai", Attachment: "Photo.png" }

关于javascript - 使用javascript从管道分隔的字符串中提取键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27601282/

相关文章:

javascript - TypeScript 找不到样式模块

javascript - 什么 jquery isArrayLike 检查 nodeType

javascript - 无法在 React 中比较包含绑定(bind)到我的类的函数的对象

javascript - 使用自定义模式弹出窗口确认表单提交

javascript - 如何将以下 Json 对象转换为字符串,如下所示

javascript - jQuery:如何动态地将表属性添加到一行中的特定单元格?

javascript - 连续的 ajax 调用卡住 chrome 和 IE

javascript - 从外部 Javascript 文件获取变量

javascript - 使用 jQuery 选择仅包含 "specified text"且不包含其他内容的 tds

javascript - 如何将数组发送到存储过程?如果我从JS发送数据,最好的数据格式是什么?