我有一个以管道分隔格式的字符串,如下所示
var request = "Country : India|Location : Mumbai|Attachment:Photo.png";
当我进行拆分时,它会将以下内容作为输出
var p = request.split("|");
(
"Country : India",
"Location : Mumbai",
"Attachment : Photo.png"
)
如何提取密钥及其各自的值? 整个值都在引号中。 请帮忙
答案 0 :(得分:4)
您可以在Array.reduce
上request.split("|")
并返回基于键值的对象。
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" }
答案 1 :(得分:0)
你去了:
function getKeyvalue() {
var request = "Country : India|Location : Mumbai|Attachment:Photo.png";
var arr = request.split("|");
for (var i in arr) {
var newarr = arr[i].split(":");
var key = newarr[0]; // key
var value = newarr[1]; // value
}
}
答案 2 :(得分:0)
您可以使用该代码存储key
中的所有密钥和value
中的值
可以使用相同的索引
var request = "Country : India|Location : Mumbai|Attachment:Photo.png";
var p = request.split("|");
var key = [];
var value = [];
for(var i=0; i<p.length; i++){
var pmap = p[i].split(":");
key = pmap[0];
value = pmap[1];
}
将此作为替代方案发布。 使用地图将是一个更好的选择。