>我有一个管道分隔格式的字符串,如下所示
var request = "Country : India|Location : Mumbai|Attachment:Photo.png";
当我进行拆分时,它会给出以下内容作为输出
var p = request.split("|");
(
"Country : India",
"Location : Mumbai",
"Attachment : Photo.png"
)
如何提取密钥及其各自的值?整个值用引号引起来。请帮忙
您可以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" }
你去吧:
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
}
}
您可以使用代码将所有键存储在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];
}
将其发布为替代方案。使用地图将是一个更好的选择。