Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 groupby键和表中打印_Javascript_Json - Fatal编程技术网

javascript groupby键和表中打印

javascript groupby键和表中打印,javascript,json,Javascript,Json,我有客户ID和性别。 下面显示的是json响应以及用于打印表的javascript func。 json响应如下所示 studies = [{ "id": { "Value": [ "1" ] }, "gen": { "sex": "M" } } , { "

我有客户ID和性别。 下面显示的是json响应以及用于打印表的javascript func。 json响应如下所示

studies = [{
    "id": {
        "Value": [
            "1"
        ]
    },
    "gen": {
        "sex": "M"
    }
} ,
{
    "id": {
        "Value": [
            "1"
        ]
    },
    "gen": {
        "sex": "M"
    }
} ,
{
      "id": {
        "Value": [
            "1"
        ]
      },  
      "gen": {
        "sex": "M"
    }
},
{
    "id": {
        "Value": [
            "2"
        ]
    },
    "gen": {
        "sex": "F"
    }
} 
 ]
javascript func打印表格

function () {
                var studies  = JSON.parse(this.responseText);            
                var table = createTable([ "ID", "Gender"]);

                // ADD JSON DATA TO THE TABLE AS ROWS.
                for (var i = 0; i < studies.length; ++i) {
                    tr = table.insertRow(-1);
                    var study = studies[i];
                    tr.insertCell(-1).innerHTML  = study["id"].Value[0];
                    tr.insertCell(-1).innerHTML  = study[""gen]["sex"];
                }

                var divContainer = document.getElementById("employee list");
                divContainer.innerHTML = "";
                divContainer.appendChild(table);
            }
函数(){
var studies=JSON.parse(this.responseText);
var table=createTable([“ID”,“Gender”]);
//将JSON数据作为行添加到表中。
对于(变量i=0;i
当前表如下所示

问题: 我正在尝试使用ID进行分组,并打印ID为1和2的表//结果->2行

使用哪种方法//reduce func将创建一个对象,但在我的例子中,我不想创建新的obj,然后在表中打印


糊涂了!感谢您的帮助

如果保留一个已用ID数组,就可以实现这一点

function () {
                var studies  = JSON.parse(this.responseText);            
                var table = createTable([ "ID", "Gender"]);
                const arrIds = []
                // ADD JSON DATA TO THE TABLE AS ROWS.
                for (var i = 0; i < studies.length; ++i) {
                    var study = studies[i];
                    if(!arrIds.includes(study["id"].Value[0])){
                       tr = table.insertRow(-1);
                       tr.insertCell(-1).innerHTML  = study["id"].Value[0];
                       tr.insertCell(-1).innerHTML  = study[""gen]["sex"];
                       arrIds.push(study["id"].Value[0]);
                    }
                }

                var divContainer = document.getElementById("employee list");
                divContainer.innerHTML = "";
                divContainer.appendChild(table);
            }

函数(){
var studies=JSON.parse(this.responseText);
var table=createTable([“ID”,“Gender”]);
常数arrIds=[]
//将JSON数据作为行添加到表中。
对于(变量i=0;i
如果保留一个已用ID数组,就可以实现这一点

function () {
                var studies  = JSON.parse(this.responseText);            
                var table = createTable([ "ID", "Gender"]);
                const arrIds = []
                // ADD JSON DATA TO THE TABLE AS ROWS.
                for (var i = 0; i < studies.length; ++i) {
                    var study = studies[i];
                    if(!arrIds.includes(study["id"].Value[0])){
                       tr = table.insertRow(-1);
                       tr.insertCell(-1).innerHTML  = study["id"].Value[0];
                       tr.insertCell(-1).innerHTML  = study[""gen]["sex"];
                       arrIds.push(study["id"].Value[0]);
                    }
                }

                var divContainer = document.getElementById("employee list");
                divContainer.innerHTML = "";
                divContainer.appendChild(table);
            }

函数(){
var studies=JSON.parse(this.responseText);
var table=createTable([“ID”,“Gender”]);
常数arrIds=[]
//将JSON数据作为行添加到表中。
对于(变量i=0;i
您可以存储已显示在数组中的元素的id

function () {
    var studies  = JSON.parse(this.responseText);            
    var table = createTable([ "ID", "Gender"]);

    var ids = [];
    // ADD JSON DATA TO THE TABLE AS ROWS.
    for (var i = 0; i < studies.length; ++i) {
        var study = studies[i];
        if (!ids.includes(study["id"].Value[0])) {
            ids.push(study["id"].Value[0])
            tr = table.insertRow(-1);
            tr.insertCell(-1).innerHTML  = study["id"].Value[0];
            tr.insertCell(-1).innerHTML  = study["gen"]["sex"];
        }
    }

    var divContainer = document.getElementById("employee list");
    divContainer.innerHTML = "";
    divContainer.appendChild(table); }
函数(){
var studies=JSON.parse(this.responseText);
var table=createTable([“ID”,“Gender”]);
var-id=[];
//将JSON数据作为行添加到表中。
对于(变量i=0;i
您可以存储已显示在数组中的元素的id

function () {
    var studies  = JSON.parse(this.responseText);            
    var table = createTable([ "ID", "Gender"]);

    var ids = [];
    // ADD JSON DATA TO THE TABLE AS ROWS.
    for (var i = 0; i < studies.length; ++i) {
        var study = studies[i];
        if (!ids.includes(study["id"].Value[0])) {
            ids.push(study["id"].Value[0])
            tr = table.insertRow(-1);
            tr.insertCell(-1).innerHTML  = study["id"].Value[0];
            tr.insertCell(-1).innerHTML  = study["gen"]["sex"];
        }
    }

    var divContainer = document.getElementById("employee list");
    divContainer.innerHTML = "";
    divContainer.appendChild(table); }
函数(){
var studies=JSON.parse(this.responseText);
var table=createTable([“ID”,“Gender”]);
var-id=[];
//将JSON数据作为行添加到表中。
对于(变量i=0;i
这就是您所拥有的(迭代所有行)

var studies=studies=[{“id”:{“Value”:[“1”]},gen”:{“sex”:“M”},{“id”:{“Value”:[“1”]},gen”:{“sex”:“M”},{“id”:{“Value”:[“1”]},gen;
for(对象项(研究)的常量[键,值]){
log(`${values.id.Value},${values.gen.sex}`);

}
这就是您所拥有的(迭代所有行)

var studies=studies=[{“id”:{“Value”:[“1”]},gen”:{“sex”:“M”},{“id”:{“Value”:[“1”]},gen”:{“sex”:“M”},{“id”:{“Value”:[“1”]},gen;
for(对象项(研究)的常量[键,值]){
log(`${values.id.Value},${values.gen.sex}`);

}
我是否答错了问题,如果第二位女性id
1会发生什么?我是否答错了问题,如果第二位女性id
1会发生什么?这与我的答案相同。为什么我的答案不被接受为最佳答案,因为它是在这个答案之前发布的?你的答案不起作用,因为你在声明之前引用了这个研究。所以我的答案是正确的。@VasiMaruseac仅供参考:“绿钩”只代表