[英]How to filter a JSON in nodejs
I have the following JSON stored in a variable named data. 我将以下JSON存储在名为data的变量中。 How can i filter it excluding the "0" values?
如何过滤除“ 0”值之外的值?
{
"BTC": "0",
"XCP": "0",
"LTC": "0",
"NXT": "0",
"XPM": "0",
"NMC": "0",
"MMC": "0",
"NOBL": "0",
"USDE": "0",
"SOC": "0",
"KDC": "0",
"DOGE": "0.00000001",
"GLB": "0",
"Q2C": "0",
"FOX": "0",
"MRC": "0",
"MTS": "0"
}
I tried: 我试过了:
var datos = data.filter(function(data){
return !!data;
});
res.send(data);
but it's telling me 但这是在告诉我
Object # has no method 'filter'
对象#没有方法'filter'
Regards, 问候,
Objects dont have a filter method, you need to convert your object to an array if you want to use the array filter method. 对象没有过滤器方法,如果要使用数组过滤器方法,则需要将对象转换为数组。
But to answer the question, 但是要回答这个问题,
var newData = {};
for(i in data){
if(data.hasOwnProperty(i) && data[i] != "0"){
newData[i] = data[i];
}
}
var dataObj = {
"BTC": "0",
"XCP": "0",
"LTC": "0",
"NXT": "0",
"XPM": "0",
"NMC": "0",
"MMC": "0",
"NOBL": "0",
"USDE": "0",
"SOC": "0",
"KDC": "0",
"DOGE": "0.00000001",
"GLB": "0",
"Q2C": "0",
"FOX": "0",
"MRC": "0",
"MTS": "0"
}
var keys = Object.keys(dataObj);
keys.forEach(function(key){ if(dataObj[key] === "0") delete dataObj[key];})
console.log(dataObj);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.