Search code examples
javascriptarraysobject

Push to a javascript array if it exists, if not then create it first


Is there a way for this line to always work and not throw TypeError: Cannot read property 'Whatever' of undefined

var MyArray = [];
MyArray[StringVariableName][StringVariableName2].push("whatever");

Solution

  • Try this:

    var MyArray = [];
    MyArray[StringVariableName] = MyArray[StringVariableName] || [];
    MyArray[StringVariableName][StringVariableName2] = MyArray[StringVariableName][StringVariableName2] || [];
    MyArray[StringVariableName][StringVariableName2].push("whatever");