v1
- by jamiec 1/31/202200
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
const obj = {
    name: undefined,
  age: 15,
  school: 'Some school'
}
delete caserun single casemove downdrag and drop case


ready



hasOnly = (obj, props) => _.isEqual(_.keys(obj).sort(), props.sort())

hasOnly(obj,['name','age']) //return false

hasOnly(obj,['name','age','city']) //return false

hasOnly(obj,['name','age','school']) //return true
delete caserun single casemove upmove downdrag and drop case


ready



make1ValuedObj = keys => _.zipObject(keys, Array(keys.length).fill(1))
hasOnly = (obj, props) => _.isEqual(make1ValuedObj(_.keys(obj)), make1ValuedObj(props))

hasOnly(obj,['name','age']) //return false

hasOnly(obj,['name','age','city']) //return false

hasOnly(obj,['name','age','school']) //return true
delete caserun single casemove updrag and drop case


ready



hasOnly = (obj,props) => {
	var objProps = Object.keys(obj)
	return objProps.length == props.length && props.every(p => objProps.includes(p))
}

hasOnly(obj,['name','age']) //return false

hasOnly(obj,['name','age','city']) //return false

hasOnly(obj,['name','age','school']) //return true
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN