DEV Community

Discussion on: Daily Challenge #204 - Partial Keys

Collapse
 
mellen profile image
Matt Ellen • Edited

Thanks to this Stack Overflow answer I learned about the JavaScript Proxy object:

let handler =
{
  get: function(target, name)
  {
    let keys = Object.keys(target).filter(key => key.startsWith(name)).sort();
    if(keys.length > 0)
    {
      return target[keys[0]];
    }
  }
}

const partialKeys = obj => new Proxy(obj, handler);

let d = {'world':'hello'};

let pd = partialKeys(d);

console.log(pd.w);
Enter fullscreen mode Exit fullscreen mode