Gibt es eine süße Möglichkeit, ein Array zu initalisieren, wenn es nicht bereits initialisiert ist? Derzeit sieht der Code so etwas wie:Elegante Methode zum Initialisieren und Erweitern eines Javascript-Arrays
if (!obj) var obj = [];
obj.push({});
kühl etwas wie var obj = (obj || []).push({})
sein würde, aber das funktioniert nicht :-(
Um funktioniert ... Das ist eine seltsame Position für 'var obj' .. nach' if (! obj) ', macht nicht viel Sinn, ist' obj' auch in einem höheren Bereich oder etwas definiert? – gnarf
Javascript initiert nicht einen zusätzlichen Bereich innerhalb von if/else – sod
Ich weiß das, weshalb ich mich wundere, warum Sie jemals eine 'var' so definieren würden ... Ich nehme an,' obj' ist wahrscheinlich eine Funktion Parameter, und das Schlüsselwort 'var' in dort ist nur nutzlos/unerwünscht ... Wenn nicht, gibt es keine Möglichkeit, dass' obj' jemals vor diesem Aufruf definiert werden könnte. Probieren Sie 'obj = {}; (function() {if (! obj) var obj = []; console.log (obj);})(); '- Sie erhalten' [] ' – gnarf