v1
- by lamik 12/16/202000
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
let o = Array(9999).fill(0).reduce((a,c,i) => (a['key'+i]=getField(i),a) ,{});

o['key']='value';

function getField(k) {
  let i=k%10;
  if(i==0) return false;
  if(i==1) return true;
  if(i==2) return k;
  if(i==3) return 0;
  if(i==4) return null;
  if(i==5) return [];
  if(i==6) return {};  
  if(i>=7) return "text"+k;
}
delete caserun single casemove downdrag and drop case


ready



function A(x) {
  return 'key' in x
}

A(o);
delete caserun single casemove upmove downdrag and drop case


ready



function B(x) {
  return _.has(x, 'key')
}

B(o);
delete caserun single casemove upmove downdrag and drop case


ready



function C(x) {
  return Reflect.has( x, 'key')
}

C(o);
delete caserun single casemove upmove downdrag and drop case


ready



function D(x) {
  return x.hasOwnProperty('key')
}

D(o);
delete caserun single casemove upmove downdrag and drop case


ready



function E(x) {
  return Object.prototype.hasOwnProperty.call(x, 'key')
}

E(o);
delete caserun single casemove upmove downdrag and drop case


ready



function F(x) {
  function hasOwnProperty(obj, prop) {
      var proto = obj.__proto__ || obj.constructor.prototype;
      return (prop in obj) &&
          (!(prop in proto) || proto[prop] !== obj[prop]);
  }
  return hasOwnProperty(x,'key')
}

F(o);
delete caserun single casemove upmove downdrag and drop case


ready



function G(x) {
  return typeof(x.key) !== 'undefined'
}

G(o);
delete caserun single casemove upmove downdrag and drop case


ready



function H(x) {
  return x.key !== undefined
}

H(o);
delete caserun single casemove upmove downdrag and drop case


ready



function I(x) {
  return !!x.key
}

I(o);
delete caserun single casemove upmove downdrag and drop case


ready



function J(x) {
  return !!x['key']
}

J(o);
delete caserun single casemove updrag and drop case


ready



function K(x) {
  return Boolean(x.key)
}

K(o);
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