How to count invalid entries (not numeric elements) in JSON array in JavaScript

1 Answer

0 votes
var arr = [
  { id: 17 },
  { id: -4 },
  { id: 129 },
  { id: 0 },
  { id: 3.14 },
  { },
  { id: NaN },
  { id: null },
  { id: 'undefined' }
];

var invalidEntries = 0;

function filterByIDandNumbers(obj) {
  if (!('id' in obj && typeof(obj.id) === 'number' && !isNaN(obj.id)))
    invalidEntries++;
}

arr.filter(filterByIDandNumbers);

console.log('Invalid Entries: ', invalidEntries); 
  
  
/*
run:  
 
Invalid Entries: 4
  
*/

 



answered May 21, 2016 by avibootz
...