Nemox: javascript sub-Object erstellen falls nicht vorhanden

Beitrag lesen

Hey,

Da war wohl wer schneller.

function setPath(object, path, value) {
  var properties = path.split('.');
  var currentObject = object;
  for (let i = 0, l = properties.length - 1; i < l; i++) {
    var property = properties[i];
    if (typeof currentObject[property] !== 'object') {
      var newObject = {};
      currentObject[property] = newObject;
      currentObject = newObject;
    } else {
      currentObject = currentObject[property];
    }
  }
  currentObject[property] = value;
  return object;
}

Ich habe das jetzt nicht getestet (hast du?), aber ich habe meine Zweifel, ob das funktionieren wird.
Nehmen wir an, path sei 'a.b.c.d.e' und value sei 'value'; So wie ich das sehe, sieht deine vorletzte Zeile so aus: currentObject['d'] = 'value'. Wobei currentObject bereits das "d"-Object ist. Das "e" wird also niemals verarbeitet.

Nemox