JSFiddle - React, Tailwind, and code Playground
by emilrmoeller
JavaScript
const data = {
title: 'hello world',
endTime: 123456,
foo: [1, 2, 3]
};
const properties = {
title: 'string',
endTime: 'number',
foo: 'array'
};
const hasPropTypes = (obj, expected) => {
if (typeof obj !== 'object' || obj === null) {
return false;
};
return Object.keys(obj).every(key => {
if (!expected.hasOwnProperty(key)) {
return false;
}
switch (expected[key]) {
case 'array':
return Array.isArray(obj[key]);
break;
default:
return typeof obj[key] === expected[key]
}
});
};
console.log(hasPropTypes(data, properties));