Jak mohu přidat objekt do pole (v javascriptu nebo jquery)? Jaký je například problém s tímto kódem?
function(){
var a = new array();
var b = new object();
a[0]=b;
}
Rád bych pomocí tohoto kódu uložil mnoho objektů do pole funkce1 a zavolal funkci2, aby použila objekt v poli.
Pomocí funkce Array.push() můžete do pole vložit cokoli.
var a=[], b={};
a.push(b);
// a[0] === b;
Další informace o polích
Přidání více než jedné položky najednou
var x = ['a'];
x.push('b', 'c');
// x = ['a', 'b', 'c']
Přidání položek na začátek pole
var x = ['c', 'd'];
x.unshift('a', 'b');
// x = ['a', 'b', 'c', 'd']
Přidání obsahu jednoho pole do druhého
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)
Vytvoření nového pole z obsahu dvou polí
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']
obejct
je zjevně překlep. Ale jak object
, tak array
potřebují velká písmena.
Pro new Array
a new Object
můžete použít zkratky, které jsou []
a {}
.
Data do pole můžete vložit pomocí .push
. Tím je přidáte na konec pole. nebo můžete nastavit index, který bude data obsahovat.
function saveToArray() {
var o = {};
o.foo = 42;
var arr = [];
arr.push(o);
return arr;
}
function other() {
var arr = saveToArray();
alert(arr[0]);
}
other();