w JavaScript tablicą wartości jest przechowywany w obiekcie. W javascript są takie rzeczy, jak tablice, ale są one również w pewnym sensie uważane za obiekty, sprawdź tę odpowiedź - What is the difference between an array and an object?
Tablice są zwykle widziane przy użyciu składni nawiasów kwadratowych i obiektów (tablice "key => value") za pomocą kręcenia składnia nawiasów, chociaż można uzyskać dostęp i ustawić właściwości obiektu za pomocą składni nawias kwadratowy, jak pokazał Alexey Romanov.
Tablice w javascriptu są zwykle używane tylko z numerycznymi, automatycznie zwiększanymi kluczami, ale obiekty javascript mogą zawierać pary wartości klucza, funkcje, a nawet inne obiekty.
Prosta tablica np.
$(document).ready(function(){
var countries = ['Canada','Us','France','Italy'];
console.log('I am from '+countries[0]);
$.each(countries, function(key, value) {
console.log(key, value);
});
});
Wyjście -
0 "Kanada"
1 "Us"
2 "Francja"
3 "Włochy"
Widzimy powyżej tego my może zapętlić tablicę liczbową za pomocą funkcji jQuery.each i uzyskać dostęp do informacji poza pętlą za pomocą kwadratu nawiasy z kluczami numerycznymi.
Simple Object (JSON)
$(document).ready(function(){
var person = {
name: "James",
occupation: "programmer",
height: {
feet: 6,
inches: 1
},
}
console.log("My name is "+person.name+" and I am a "+person.height.feet+" ft "+person.height.inches+" "+person.occupation);
$.each(person, function(key, value) {
console.log(key, value);
});
});
Wyjście -
Nazywam się James i jestem 6 FT 1 programiście
nazwisko James
zawód programista
height Obiekt {stopy: 6, cale: 1}
W języku takim jak php będzie to traktowane jako wielowymiarowa tablica z parami klucz-wartość lub tablica w tablicy. Zakładam, że pytałeś o to, jak przechodzić przez tablicę wartości kluczy, którą chciałbyś wiedzieć, jak zdobyć obiekt (key => tablica wartości), tak jak powyższy obiekt osoby, powiedzmy, więcej niż jedną osobę.
Dobrze, że teraz wiemy, tablice javascript stosowane są zazwyczaj do indeksowania numerycznej i obiektów bardziej elastycznie do asocjacyjnej indeksowania użyjemy je razem, aby utworzyć tablicę obiektów, które możemy pętlę poprzez, jak tak -
tablica JSON (tablica obiektów) -
$(document).ready(function(){
var people = [
{
name: "James",
occupation: "programmer",
height: {
feet: 6,
inches: 1
}
}, {
name: "Peter",
occupation: "designer",
height: {
feet: 4,
inches: 10
}
}, {
name: "Joshua",
occupation: "CEO",
height: {
feet: 5,
inches: 11
}
}
];
console.log("My name is "+people[2].name+" and I am a "+people[2].height.feet+" ft "+people[2].height.inches+" "+people[2].occupation+"\n");
$.each(people, function(key, person) {
console.log("My name is "+person.name+" and I am a "+person.height.feet+" ft "+person.height.inches+" "+person.occupation+"\n");
});
});
Wyjście -
Nazywam się Joshua i jestem 5 ft 11 CEO
Nazywam się James i jestem 6 FT 1 programiście
Nazywam się Piotr i jestem 4 ft 10 projektantowi
Nazywam się Joshua i jestem 5 ft 11 CEO
Uwaga poza pętlą muszę używać składni nawiasów kwadratowych z kluczem numerycznym, ponieważ jest to teraz tablica liczbowo indeksowanych tablic obiektów i oczywiście wewnątrz pętli jest implikowany klucz numeryczny.
Hash iterowany z $ .each nie zrobi? Jest to dość standardowe. – kgiannakakis
hash? dowolna próbka kodu? –
Dlaczego na świecie chciałbyś używać jQuery do tego prostego podstawowego zadania, kgiannakakis? –