Javascript'te bir anahtar / değer dizisi nesne olarak saklanır. Javascript diziler gibi şeyler vardır, ama onlar yine de biraz nesne olarak kabul edilir, bu adamlar cevap kontrol - Neden bir dizi bir nesne gibi adlandırılmış özellikleri ekleyebilirim?
Diziler genellikle köşeli parantez sözdizimi ve nesneler ("key => değer" dizileri) kullanılarak kıvırcık parantez sözdizimi kullanılarak görülür, ancak Alexey Romanov'un gösterdiği gibi köşeli parantez sözdizimini kullanarak nesne özelliklerine erişebilir ve ayarlayabilirsiniz.
Javascript'teki diziler genellikle yalnızca sayısal, otomatik artan anahtarlarla kullanılır, ancak javascript nesneleri adlandırılmış anahtar değeri çiftlerini, işlevleri ve hatta diğer nesneleri de tutabilir.
Basit Dizi örn.
$(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);
});
});
Çıktı -
0 "Kanada"
1 "Biz"
2 "Fransa"
3 "İtalya"
Yukarıda, jQuery.each işlevini kullanarak sayısal bir dizi döngüye sokabildiğimizi ve sayısal anahtarlara sahip köşeli parantezler kullanarak döngü dışında bilgilere erişebileceğimizi görüyoruz.
Basit Nesne (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);
});
});
Çıktı -
Benim adım James ve ben 6 ft 1 programcıyım
adı James
meslek programcısı
yükseklik Nesne {feet: 6, inç: 1}
Php gibi bir dilde bu, anahtar değer çiftlerine sahip çok boyutlu bir dizi veya bir dizi içindeki bir dizi olarak kabul edilir. Ben bir anahtar değer dizisi üzerinden döngü hakkında sordum çünkü nasıl bir nesne (key => değer dizisi) yukarıdaki kişi nesnesi gibi, örneğin birden fazla kişi sahip olmak istiyorum bilmek istiyorum.
Javascript dizilerinin tipik olarak sayısal indeksleme için kullanıldığını ve ilişkisel indeksleme için daha esnek nesneler kullandığını bildiğimize göre, bunları bir araya getirerek, bir araya getirebileceğimiz bir dizi nesne oluşturmak için kullanacağız.
JSON dizisi (nesne dizisi) -
$(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");
});
});
Çıktı -
Benim adım Joshua ve ben 5 ft 11 CEO'yum
Benim adım James ve ben 6 ft 1 programcıyım
Benim adım Peter ve ben 4 ft 10 tasarımcıyım
Benim adım Joshua ve ben 5 ft 11 CEO'yum
Döngünün dışında sayısal bir anahtarla köşeli parantez sözdizimini kullanmak zorunda olduğumuzu unutmayın, çünkü bu artık sayısal olarak indekslenmiş bir nesne dizisidir ve elbette döngü içinde sayısal anahtar ima edilir.