Json表单提取数据后如何过滤数据

cetgtptt  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(133)

我已经提取了数据,但有问题,以过滤一些数据,我想只得到。下面是代码:

// 7. for each itemid, extract the metrics required (the list of metrics in section 2) //
      outdata.forEach(function (outJson) {
        var temp = []
        for (var j = 0; j < head.length; j++) {
          
          temp.push((outJson[head[j]]) ? outJson[head[j]] : "" ) // ? : works like an if statement (condition ? value if true : value if false) //

        }
        if(temp.length>=34){
            temp.pop() // remove the last empty column 
        }
 
        temp.push(counter)
        // console.log(temp)
        toPrint.push(temp)
        counter++
      })
    }

我想过滤的条件如下,但不知道如何修改并纳入上述大块,使其工作:

temp= temp.filter(function (row) { return (row[24] ==1); })
xn1cxnb4

xn1cxnb41#

我不能肯定每件事都理解得很好。据我所知,你可以简单地替换

temp = temp.filter(function (row) { return (row[24] ==1); })

作者

if(row[24] == 1) {
    // do stuff
}

而且,如果你的目标是,对于每个输出数据,得到第24项,当且仅当它是1,你可以简化代码如下:

// Map return an array of every 24th values
// Filter return an array of only one
outdata.map((data) => data[head[24]]).filter((data) => data == 1)

// To get the number of one, you can then simply use
outdata.length

相关问题