Search code examples
javascriptobjectkey

JS getting value of object with key starting with a string


Is there a quick way to get the value of a key starting with a certain string?

Example :

var obj = {
  "key123" : 1,
  "anotherkey" : 2
}

obj['key1'] // would return 1
obj['ano'] // would return 2

Thanks


Solution

  • You can create a helper function

    function findValueByPrefix(object, prefix) {
      for (var property in object) {
        if (object.hasOwnProperty(property) && 
           property.toString().startsWith(prefix)) {
           return object[property];
        }
      }
    }
    
    findValueByPrefix(obj, "key1");
    

    As Kenney commented, the above function will return first match.