W javascript tablica wartości klucza jest przechowywana jako obiekt. Istnieją pewne rzeczy, takie jak tablice w javascript, ale nadal są one w pewnym stopniu uważane za obiekty, sprawdź odpowiedzi chłopaków - Dlaczego mogę dodawać nazwane właściwości do tablicy tak, jakby to był obiekt?
Tablice są zwykle widziane przy użyciu składni nawiasów kwadratowych, a obiekty (tablice „key => value”) przy użyciu składni nawiasów klamrowych, chociaż można uzyskać dostęp do właściwości obiektów i ustawiać je przy użyciu składni nawiasów kwadratowych, jak pokazał Aleksiej Romanow.
Tablice w javascript są zwykle używane tylko z numerycznymi, automatycznie zwiększanymi klawiszami, ale obiekty javascript mogą przechowywać nazwane pary wartości kluczy, funkcje, a nawet inne obiekty.
Simple Array 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);
});
});
Wynik -
0 „Kanada”
1 „My”
2 „Francja”
3 „Włochy”
Widzimy powyżej, że możemy zapętlić tablicę numeryczną za pomocą funkcji jQuery.each i uzyskać dostęp do informacji poza pętlą za pomocą nawiasów kwadratowych z klawiszami numerycznymi.
Prosty obiekt (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);
});
});
Wynik -
Nazywam się James i jestem programistą o długości 6 stóp 1
nazwać Jamesa
programista zawodu
wysokość Obiekt {stopy: 6, cale: 1}
W języku takim jak php byłoby to uważane za tablicę wielowymiarową z parami wartości klucza lub tablicę w tablicy. Zakładam, że ponieważ pytałeś o sposób przechodzenia przez tablicę wartości klucza, chciałbyś wiedzieć, jak uzyskać obiekt (klucz => tablica wartości) taki jak obiekt osoby powyżej, aby mieć, powiedzmy, więcej niż jedną osobę.
Cóż, teraz, gdy wiemy, że tablice javascript są zwykle używane do indeksowania numerycznego, a obiekty bardziej elastycznie do indeksowania asocjacyjnego, użyjemy ich razem, aby utworzyć tablicę obiektów, które możemy zapętlać, tak jak to -
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");
});
});
Wynik -
Nazywam się Joshua i jestem CEO 5 stóp
Nazywam się James i jestem programistą o długości 6 stóp 1
Nazywam się Peter i jestem projektantem 4 stóp 10
Nazywam się Joshua i jestem CEO 5 stóp
Zauważ, że poza pętlą muszę użyć składni nawiasu kwadratowego z kluczem numerycznym, ponieważ jest to teraz tablica obiektów indeksowana numerycznie, i oczywiście wewnątrz pętli sugerowany jest klucz numeryczny.