Trong javascript, một mảng giá trị khóa được lưu trữ dưới dạng một đối tượng. Có những thứ như mảng trong javascript, nhưng chúng vẫn được coi là một số đối tượng, hãy kiểm tra câu trả lời của kẻ này - Tại sao tôi có thể thêm các thuộc tính được đặt tên vào một mảng như thể nó là một đối tượng?
Mảng thường được nhìn thấy bằng cú pháp ngoặc vuông và các đối tượng (mảng "key => value") bằng cú pháp ngoặc nhọn, mặc dù bạn có thể truy cập và đặt thuộc tính đối tượng bằng cú pháp ngoặc vuông như Alexey Romanov đã hiển thị.
Các mảng trong javascript thường chỉ được sử dụng với các khóa số, tự động tăng, nhưng các đối tượng javascript có thể giữ các cặp giá trị khóa được đặt tên, các hàm và thậm chí cả các đối tượng khác.
Mảng đơn giản, vd.
$(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);
});
});
Đầu ra -
0 "Canada"
1 "Chúng tôi"
2 "Pháp"
3 "Ý"
Chúng ta thấy ở trên rằng chúng ta có thể lặp một mảng số bằng cách sử dụng hàm jQuery.each và truy cập thông tin bên ngoài vòng lặp bằng dấu ngoặc vuông với các phím số.
Đối tượng đơn giản (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);
});
});
Đầu ra -
Tên tôi là James và tôi là một lập trình viên 6 ft 1
tên James
lập trình viên nghề nghiệp
chiều cao Đối tượng {feet: 6, inch: 1}
Trong một ngôn ngữ như php, điều này sẽ được coi là một mảng nhiều chiều với các cặp giá trị chính hoặc một mảng trong một mảng. Tôi giả sử vì bạn đã hỏi về cách lặp qua một mảng giá trị khóa mà bạn muốn biết làm thế nào để có được một đối tượng (khóa => mảng giá trị) như đối tượng người ở trên để có, giả sử, nhiều hơn một người.
Chà, bây giờ chúng ta biết các mảng javascript thường được sử dụng để lập chỉ mục số và các đối tượng linh hoạt hơn để lập chỉ mục kết hợp, chúng ta sẽ sử dụng chúng cùng nhau để tạo ra một mảng các đối tượng mà chúng ta có thể lặp qua, như vậy -
Mảng JSON (mảng đối tượng) -
$(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");
});
});
Đầu ra -
Tên tôi là Joshua và tôi là CEO 5 ft 11
Tên tôi là James và tôi là một lập trình viên 6 ft 1
Tên tôi là Peter và tôi là một nhà thiết kế 4 ft 10
Tên tôi là Joshua và tôi là CEO 5 ft 11
Lưu ý rằng bên ngoài vòng lặp tôi phải sử dụng cú pháp dấu ngoặc vuông với khóa số vì đây hiện là mảng các đối tượng được lập chỉ mục bằng số và dĩ nhiên bên trong vòng lặp, hàm số được ngụ ý.