Dado el siguiente objeto, ¿cómo puedo saber si todos los empleados tienen un valor no nulo para la propiedad SSN?
Employees: { id: 0, name: "John", SSN: "1234" } { id: 1, name: "Mark", SSN: "1876" } { id: 2, name: "Sue", SSN: "98826" }Suponiendo que 0 no es un SSN válido, puede usar Number(Employees[i].SSN) > 0 para tomar esa determinación:
const Employees = [ { id: 0, name: "A", SSN: "1234" }, // true { id: 1, name: "B", SSN: "1876" }, // true { id: 2, name: "C", SSN: "" }, // false { id: 3, name: "D", SSN: null }, // false { id: 4, name: "E", SSN: undefined }, // false { id: 5, name: "F" }, // false { id: 6, name: "G", SSN: "98826" }, // true ]; function hasSSN <T extends {SSN?: string | null | undefined}>(value: T): value is T & {SSN: string} { return Number(value.SSN) > 0; } for (const employee of Employees) { console.log(employee.name, hasSSN(employee)); }Manifestación:
const Employees = [ { id: 0, name: "A", SSN: "1234" }, { id: 1, name: "B", SSN: "1876" }, { id: 2, name: "C", SSN: "" }, { id: 3, name: "D", SSN: null }, { id: 4, name: "E", SSN: undefined }, { id: 5, name: "F" }, { id: 6, name: "G", SSN: "98826" }, // true ]; function hasSSN(value) { return Number(value.SSN) > 0; } for (const employee of Employees) { console.log(employee.name, hasSSN(employee)); }