0

Here I want to filter numbers from asNum array

self.protocolArray = [{
    protocol: "OSPF",
    asNum: [0, "", undefined, null, 1, 2]
}];

for (var j = 0; j < self.protocolArray.length; j++) {
    self.protocolArray[j].asNum.forEach(function (asNumitem) {
        if (asNumitem && (asNumitem !== "")) {
            asNumStoreData.items.push({
                "name": asNumitem.toString(),
                "value": asNumitem.toString(),
                "selected": "false"
            });
        }
    });
}

expected result {items:[0,1,2]}

Any idea?

Andreas
  • 21,535
  • 7
  • 47
  • 56

1 Answers1

0

To check if a number exists, use isNaN and parseFloat.

var result = [];
asNum.forEach(function(asNumItem){
    if (!isNaN(parseFloat(asNumItem)) && isFinite(asNumItem))
        result.push(asNumItem);
});
CC Inc
  • 5,842
  • 3
  • 33
  • 64