JSFiddle - React, Tailwind, and code Playground
by Thunder Hemlock
JavaScript
var arr = [
{ id: 15 },
{ id: -1 },
{ id: 0 },
{ id: 3 },
{ id: 12.2 },
{ },
{ id: null },
{ id: NaN },
{ id: 'undefined' }
];
var bikeSpecs = [
{ make: "Aprilia", model: "Aprilia Model 1" },
{ make: "Aprilia", model: "Aprilia Model 2" },
{ make: "Moto Guzzi", model: "Moto Guzzi Model 1" },
{ make: "Moto Guzzi", model: "Moto Guzzi Model 2" },
{ make: "zero", model: "zero Model 1" },
{ make: "zero", model: "zero Model 2" },
{ },
{ id: null },
{ id: NaN },
{ id: 'undefined' }
];
var selectedModels = [];
var selectedMakes = ["Aprilia", "Moto Guzzi"];
var invalidEntries = 0;
function isMake(obj) {
return obj;
}
function filterByMake(item) {
if (isMake(item.make == "Aprilia")) {
selectedMakes.push(item);
console.log('selectedMakes', selectedMakes);
return true;
}
invalidEntries++;
return false;
}
var bikeSpecsByMake = bikeSpecs.filter(filterByMake);
function isModel(obj) {
return obj;
}
function filterByModel(item) {
if (isModel(item.model == "Aprilia Model 2")) {
selectedModels.push(item);
console.log('selectedModels', selectedModels);
return true;
}
invalidEntries++;
return false;
}
var bikeSpecsByModel = selectedMakes.filter(filterByModel);
console.log('bikeSpecsByMake\n', bikeSpecsByMake);
// Filtered Array
// [{ id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 12.2 }]
console.log('bikeSpecsByModel\n', bikeSpecsByModel);
console.log('Number of Invalid Entries = ', invalidEntries);
// Number of Invalid Entries = 4