ในจาวาสคริปต์อาร์เรย์ของค่าคีย์จะถูกจัดเก็บเป็นวัตถุ มีสิ่งต่าง ๆ เช่นอาร์เรย์ในจาวาสคริปต์ แต่พวกมันก็ยังถือว่าเป็นวัตถุยังคงตรวจสอบพวกนี้ตอบ - ทำไมฉันสามารถเพิ่มคุณสมบัติที่มีชื่อในอาร์เรย์ราวกับว่ามันเป็นวัตถุ?
โดยทั่วไปจะเห็นอาร์เรย์โดยใช้ไวยากรณ์วงเล็บเหลี่ยมและวัตถุ ("คีย์ => ค่า" อาร์เรย์) โดยใช้ไวยากรณ์วงเล็บเหลี่ยมแม้ว่าคุณสามารถเข้าถึงและตั้งค่าคุณสมบัติวัตถุโดยใช้ไวยากรณ์วงเล็บเหลี่ยมได้เช่นเดียวกับ Alexey Romanov
โดยทั่วไปแล้วอาร์เรย์ในจาวาสคริปต์จะใช้เฉพาะกับตัวเลขแป้นเพิ่มอัตโนมัติ แต่วัตถุจาวาสคริปต์สามารถเก็บคู่ค่าคีย์ชื่อฟังก์ชั่นและแม้กระทั่งวัตถุอื่น ๆ เช่นกัน
Simple Array
$(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);
});
});
ผลผลิต -
0 "แคนาดา"
1 "เรา"
2 "ฝรั่งเศส"
3 "อิตาลี"
เราเห็นข้างต้นว่าเราสามารถวนซ้ำอาร์เรย์โดยใช้ฟังก์ชั่น jQuery.each และการเข้าถึงข้อมูลนอกวงโดยใช้วงเล็บเหลี่ยมพร้อมปุ่มตัวเลข
วัตถุอย่างง่าย (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);
});
});
ผลผลิต -
ฉันชื่อเจมส์และฉันเป็นนักเขียนโปรแกรม 6 ฟุต 1 คน
ชื่อเจมส์
โปรแกรมเมอร์อาชีพ
ความสูงวัตถุ {ฟุต: 6, นิ้ว: 1}
ในภาษาอย่าง php นี้จะถือว่าเป็นอาร์เรย์หลายมิติที่มีคู่ค่าคีย์หรืออาร์เรย์ภายในอาร์เรย์ ฉันสมมติว่าคุณถามเกี่ยวกับวิธีวนลูปค่าคีย์ที่คุณต้องการทราบวิธีรับอ็อบเจกต์ (key => value array) เช่นเดียวกับที่วัตถุบุคคลด้านบนมีสมมติว่ามีมากกว่าหนึ่งคน
ตอนนี้เรารู้ว่ามีการใช้อาร์เรย์ javascript สำหรับการทำดัชนีตัวเลขและวัตถุมีความยืดหยุ่นสำหรับการจัดทำดัชนีแบบเชื่อมโยงกันมากขึ้นเราจะใช้มันร่วมกันเพื่อสร้างอาร์เรย์ของวัตถุที่เราสามารถวนซ้ำได้เช่น -
อาร์เรย์ JSON (อาร์เรย์ของวัตถุ) -
$(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");
});
});
ผลผลิต -
ชื่อของฉันคือโจชัวและฉันเป็นซีอีโอ 5 ฟุต 11
ฉันชื่อเจมส์และฉันเป็นนักเขียนโปรแกรม 6 ฟุต 1 คน
ชื่อของฉันคือปีเตอร์และฉันเป็นนักออกแบบ 4 ฟุต 10
ชื่อของฉันคือโจชัวและฉันเป็นซีอีโอ 5 ฟุต 11
โปรดทราบว่านอกลูปฉันต้องใช้ไวยากรณ์ของวงเล็บเหลี่ยมกับคีย์ตัวเลขเพราะตอนนี้ตอนนี้เป็นอาร์เรย์ของวัตถุที่จัดทำดัชนีเป็นตัวเลขและแน่นอนว่าภายในลูปนั้นคีย์ตัวเลขจะถูกบอกเป็นนัย