Sử dụng Array.prototype.every() và Object.prototype.hasOwnProperty() tìm những giá trị tồn tại có trong một object, nếu ngươc lại thì return false.
Cho một object:
let obj = {
a: 1,
b: { c: 4 },
'b.d': 5
};Tìm:
hasKey(obj, ['a']); // true hasKey(obj, ['b']); // true hasKey(obj, ['b', 'c']); // true hasKey(obj, ['b.d']); // true hasKey(obj, ['d']); // false hasKey(obj, ['c']); // false hasKey(obj, ['b', 'f']); // false
Đáp án:
const hasKey = (obj, keys) => {
return (
keys.length > 0 &&
keys.every(key => {
if (typeof obj !== 'object' || !obj.hasOwnProperty(key)) return false;
obj = obj[key];
return true;
})
);
};Like Tips Javascript?
Recommended snippets

