Javascript 如何循环使用json并获取特定值?
我可以将json作为单个或多个数据源获取,我需要解析它以获取特定值 如何获取一个特定的值,然后将其放入一个字符串中,并比较这些值以获得一个字符串,如下所示Javascript 如何循环使用json并获取特定值?,javascript,json,Javascript,Json,我可以将json作为单个或多个数据源获取,我需要解析它以获取特定值 如何获取一个特定的值,然后将其放入一个字符串中,并比较这些值以获得一个字符串,如下所示 var info; info= { "rows": [ { "id": 1, "data": [ "", "1", "s", "Al", "A" ] } ] }; info= { "rows": [ { "id": 1, "data": [ "", "1", "s", "Al", "A" ] }, {
var info;
info= {
"rows": [
{
"id": 1,
"data": [ "", "1", "s", "Al", "A" ]
}
]
};
info= {
"rows": [
{
"id": 1,
"data": [ "", "1", "s", "Al", "A" ]
},
{
"id": 2,
"data": [ "", "1", "s", "Az", "A" ]
},
{
"id": 3,
"data": [ "", "2", "s", "Co", "A" ]
}
]
};
var jsonData;
我不知道如何循环json并提取数据[1],然后将每个值放入字符串中,例如:1,1,2
var jstring = jsonData
下面是我尝试放入字符串中的每个项目的示例
$.each([ jstring ], function( index, value ) {
if(g.includes(string)) {
console.log(value + " exists");
}
else
{
g = g + value;
}
});
我想要的是g的形状:1,2
任何帮助都将不胜感激。像这样的东西怎么样:
var outputString = info.rows.reduce(function(arr, row){
return arr.concat(row.data[1]);
}, []).join(",");
以下是有关reduce如何工作的一些文档的链接:
基本上,您的行是一个数组,因此reduce将对该数组中的每个项应用一个函数,并使用所谓的累加器“跟踪”输出。本例中的累加器是arr变量。对于rows数组中的每个项,我们将该值连接到累积数组,然后将该值传递给下一次迭代。我们将空括号作为第二个参数传递,以reduce作为初始值,这意味着我们希望从一个空数组开始。一旦reduce运行完毕,剩下的就是一个数组,在本例中,它看起来像[1,1,2]。此时,我们可以使用.join(“,”)将新数组中的每个项连接到一个字符串中,并用逗号分隔 我得到了这个错误:Uncaught TypeError:无法读取Undefine的属性'reduce'。我认为还应该应用一个过滤器来删除重复项。我如何迭代json以找到1列的数组值?好的,所以我一直在努力从json数据中获取数据,但现在我陷入了一个可以看到下一个的点但仍然无法访问所需的数据元素。到目前为止,我得到的是:var-keys=[];for(var-key-in-info){console.log(key);//返回行if(info.hasOwnProperty(key)){var-val=info[key];console.log(val);//返回[object]for(var-key2-in-val){if(val.hasOwnProperty(key2)){var-val2=val[key2];console.log(val2);//返回对象{id:1,数据:数组[5]}//获取数据的值,即1}}}我在下面添加了一个循环://get data.1的值,即1。我有:for(var i=0;i