2013-01-28 10 views
5

W PHP mogę dodać wartość do tablicy tak:Czy javascript może dodać element do tablicy bez określania klucza takiego jak PHP?

array[]=1; 
array[]=2; 

i wyjście będzie 0=>'1', 1=>'2';

A gdybym spróbował tego samego kodu w JavaScript, powrót Uncaught SyntaxError: Nieoczekiwany ciąg. Czy jest jakiś sposób w JS do pracy tak samo jak PHP? Dzięki

+2

można użyć Array.push do przekazania elementów na tablicy bez określenia indeksu –

+0

patrz [to] (http://www.w3schools.com/js/js_obj_array.asp) –

+0

tak. Dostałem to dziękuję – user782104

Odpowiedz

12

Wystarczy użyć Array.push w javascript

var arr = [1,2,3,4]; 

// append a single value 
arr.push(5); // arr = [1,2,3,4,5] 

// append multiple values 
arr.push(1,2) // arr = [1,2,3,4,5,1,2] 

// append multiple values as array 
Array.prototype.push.apply(arr, [3,4,5]); // arr = [1,2,3,4,5,1,2,3,4,5] 

Array.push on MDN

0

Od w3schools

<script> 
var fruits = ["Banana", "Orange", "Apple", "Mango"]; 

function myFunction() 
{ 
fruits.push("Kiwi") 
var x=document.getElementById("demo"); 
x.innerHTML=fruits; 
} 
</script> 
3

programowo po prostu "push" elementu w tablicy:

var arr = []; 

arr.push("a"); 
arr.push("b"); 

arr[0]; // "a"; 
arr[1]; // "b" 

Ty nie może robić to, co sugerujesz:

arr[] = 1 

jest nie ważny JavaScript.

0

Chciałem znaleźć sposób, aby dodać wartość jako elementu tablicy do zmiennej lub mienia, gdy taki jeszcze nie istnieje. (Podobnie jak php $ var [] = 'foo'.) Zapytałem więc o to i tego się nauczyłem.

Zmienna:

var arr; 
(arr = arr || []).push('foo'); 

nieruchomości:

var obj = {}; 
(obj.arr = obj.arr || []).push('foo'); 

|| zwraca lewą stronę, jeśli jest prawdą, a prawa strona, jeśli lewe jest fałszywe. Do czasu uruchomienia procedury .push() arr jest tablicą - jeśli jeszcze jej nie było.

0

Dla szczególnych przypadkach można użyć następnego (bez .Push()):

var arr = []; 
arr[arr.length] = 'foo'; 
arr[arr.length] = 'bar'; 

console.log(arr); // ["foo", "bar"] 
Powiązane problemy