Hogyan adhatok hozzá egy objektumot egy tömbhöz (javascriptben vagy jqueryben)? Például mi a probléma ezzel a kóddal?
function(){
var a = new array();
var b = new object();
a[0]=b;
}
Szeretném ezt a kódot arra használni, hogy sok objektumot mentsek a function1 tömbjébe, és hívjam a function2-t a tömbben lévő objektum használatára.
Az Array.push() segítségével bármit betehetsz egy tömbbe.
var a=[], b={};
a.push(b);
// a[0] === b;
Extra információ a tömbökről
Egynél több elem hozzáadása egyszerre
var x = ['a'];
x.push('b', 'c');
// x = ['a', 'b', 'c']
Elemek hozzáadása egy tömb elejére
var x = ['c', 'd'];
x.unshift('a', 'b');
// x = ['a', 'b', 'c', 'd']
Egy tömb tartalmának hozzáadása egy másikhoz
var x = ['a', 'b', 'c'];
var y = ['d', 'e', 'f'];
x.push.apply(x, y);
// x = ['a', 'b', 'c', 'd', 'e', 'f']
// y = ['d', 'e', 'f'] (remains unchanged)
Új tömb létrehozása két tömb tartalmából
var x = ['a', 'b', 'c'];
var y = ['d', 'e', 'f'];
var z = x.concat(y);
// x = ['a', 'b', 'c'] (remains unchanged)
// y = ['d', 'e', 'f'] (remains unchanged)
// z = ['a', 'b', 'c', 'd', 'e', 'f']
Először is, nincs objektum
vagy tömb
. Van Object
és Array
. Másodszor, ezt megteheted:
a = new Array();
b = new Object();
a[0] = b;
Most a
egy tömb lesz, amelynek egyetlen eleme b
.
Az "obejct" egyértelműen elírás. De mind az "objektum", mind a "tömb" nagybetűket igényel.
Az new Array
és new Object
rövidített kezeket használhatsz, ezek a []
és {}
.
Az adatokat a tömbbe a .push
segítségével tolhatod be. Ez hozzáadja a tömb végéhez. vagy beállíthatsz egy indexet, amely tartalmazza az adatokat.
function saveToArray() {
var o = {};
o.foo = 42;
var arr = [];
arr.push(o);
return arr;
}
function other() {
var arr = saveToArray();
alert(arr[0]);
}
other();