Javascript 使用嵌套数组转换逗号分隔字符串中的JSON
我知道有很多例子,但我仍然不能让它工作。我有这样一个JSON:Javascript 使用嵌套数组转换逗号分隔字符串中的JSON,javascript,jquery,arrays,json,string,Javascript,Jquery,Arrays,Json,String,我知道有很多例子,但我仍然不能让它工作。我有这样一个JSON: {"domiciles":[{"country":"AF"},{"country":"AX"},{"country":"AL"}],"investor":[{"type":"ii"},{"type":"pi"}]} 存储在sessionStorage.getItem(“profile”)中 如何转换为两个逗号分隔的字符串?像 AF,AX,AL ii,pi 失败的尝试: var dataResidence = sessionSto
{"domiciles":[{"country":"AF"},{"country":"AX"},{"country":"AL"}],"investor":[{"type":"ii"},{"type":"pi"}]}
存储在sessionStorage.getItem(“profile”)中
如何转换为两个逗号分隔的字符串?像
AF,AX,AL
ii,pi
失败的尝试:
var dataResidence = sessionStorage.getItem("profile");
var resultResidence = dataResidence.map(function(val) {
return val.country;
}).join(',');
console.log(resultResidence);
或:
var newString=“”;
对于(变量i=0;i
您需要解析从会话存储中获取的字符串,然后您可以映射并加入:
var profile='{“住所”:[{“国家”:“AF”},{“国家”:“AX”},{“国家”:“AL”}],“投资者”:[{“类型”:“ii”},{“类型”:“pi”}]};//sessionStorage.getItem(“概要”);
var dataResidence=JSON.parse(profile);
函数mapAndJoin(arr,键){
返回arr.map(函数(o){
返回o[键];
}).join();
}
var domiciles=mapAndJoin(dataResidence.domiciles,'country');
var investor=mapAndJoin(dataResidence.investor,'type');
控制台日志(住所);
控制台日志(投资者)代码>一种方法
var obj={“住所”:[{“国家”:“AF”},{“国家”:“AX”},{“国家”:“AL”}],“投资者”:[{“类型”:“ii”},{“类型”:“pi”}]};
log(JSON.stringify(obj));
var国家=对象住所;
var-str='';
for(i=0;我希望得到这方面的帮助!我在漫游…我还看到了您的第一个版本(没有mapAndJoin())…正在通过mapAndJoin()这样的通用函数来实现在多个输出的情况下进行更好的练习…或者有更多的pro参数吗?这是-不要重复你自己。如果有几个案例使用相同的代码,请将其抽象为一个方法。现在,如果我想将分隔符从逗号改为斜杠,我可以在一个地方进行更改。此外,处理新案例非常简单,只需c我还可以测试抽象,以确保它能够处理边缘情况,例如空数组、非数组、找不到键等。很高兴知道…感谢提供更多信息!
var newString = "";
for(var i=0; i< dataResidence.domiciles.length;i++){
newString += userDefinedSeries.country[i];
newString += ",";
}
console.log(newString);