Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 如何迭代JSON对象并获取每个键的值_Javascript_Arrays_Jsonobject - Fatal编程技术网

Javascript 如何迭代JSON对象并获取每个键的值

Javascript 如何迭代JSON对象并获取每个键的值,javascript,arrays,jsonobject,Javascript,Arrays,Jsonobject,我有一个JSONObject,每个键都有一个JSONArray作为值 { "abc" : [null, "1,3", "2,4"], "dbs" : [null, "1,4", "4,5"], "sad" : [null, "6,2", "3,4", "5,5"] } 我希望迭代对象,获取每个键的JSONArray值,并将其放入字符串[]。key:abc示例我想要一个字符串[]:[null,“1,3”,“2,4”] 谁能帮我一下吗 我尝试了以下方法: for (var

我有一个JSONObject,每个键都有一个JSONArray作为值

{
    "abc" : [null, "1,3", "2,4"],
    "dbs" : [null, "1,4", "4,5"],
    "sad" : [null, "6,2", "3,4", "5,5"]
}
我希望迭代对象,获取每个键的JSONArray值,并将其放入字符串[]。key:abc示例我想要一个字符串[]:
[null,“1,3”,“2,4”]

谁能帮我一下吗

我尝试了以下方法:

for (var key in jsonObject) {
    if (jsonObject.hasOwnProperty(key)) {
        var array = jsonObject[key];
    }
}

但这给了我:“,1,3,2,4”

这应该可以做到:

function extract(data){
    return Object.keys(data).map(function(x){
        return data[x].filter(function(z){return z!==null;});
    });
}
这是可以玩的游戏。有关地图的说明,请参见

如果要展平数据,可以将其扩展到:

function flatten(data){
  return Object.keys(Object.keys(data).map(function(x){
    return data[x].filter(function(z){return z!==null;});
  }).reduce(function(o,n){
    n.forEach(function(x){
      o[x]=x;
    });
    return o;
  },{}));
}

这不起作用,因为它只会给我“1,2”。这完全违背了你的目的,你能告诉我们你已经尝试了什么吗?字符串需要密钥或密码的名称吗?比如:
varabc=[1,2]?@Maarten:新字符串[]可以是任何名称。您需要过滤掉空值吗?如何让小提琴工作。我单击run,但没有打开浏览器的开发工具;)e、 g.F12应适用于所有常见浏览器。此解决方案与我的解决方案有何不同?对不起,我是一个Noobie你的初始代码不工作。下面是代码的一个更新,使其能够工作:但是仍然缺少对“null”元素的过滤。这里有过滤器: