Trong javascript, mảng giá trị khóa được lưu trữ dưới dạng đối tượng. Có những thứ như mảng trong javascript, nhưng chúng cũng được coi là vẫn còn đối tượng, hãy kiểm tra câu trả lời này - What is the difference between an array and an object?
Mảng thường được sử dụng cú pháp khung vuông và đối tượng ("key => value" mảng) cú pháp khung, mặc dù bạn có thể truy cập và đặt thuộc tính đối tượng bằng cách sử dụng cú pháp khung vuông như Alexey Romanov đã hiển thị.
Mảng trong javascript thường chỉ được sử dụng với số, phím tăng tự động, nhưng đối tượng javascript có thể chứa cặp giá trị khóa, chức năng và thậm chí cả các đối tượng khác.
Ví dụ: Mảng đơn giản.
$(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);
});
});
Output -
0 "Canada"
1 "Us"
2 "Pháp"
3 "Ý"
Chúng ta thấy ở trên chúng ta rằng có thể lặp lại 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 cách sử dụng hình vuông dấu ngoặc với các phím số.
Object đơ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);
});
});
Output -
Tên tôi là James và tôi là một 6 ft 1 lập trình viên
tên James
nghề lập trình viên
chiều cao Đối tượng {feet: 6, inches: 1}
Trong một ngôn ngữ như php, đây sẽ được coi là một mảng đa chiều với các cặp giá trị khóa 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ảng giá trị khóa bạn muốn biết cách lấy đối tượng (key => array giá trị) giống như đối tượng người ở trên có, giả sử, nhiều hơn một người.
Vâng, bây giờ mà chúng ta biết mảng javascript được sử dụng thường cho chỉ mục số và các đối tượng linh hoạt hơn cho chỉ mục kết hợp, chúng tôi sẽ sử dụng chúng với 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 -
JSON mảng (mảng các đố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");
});
});
Output -
tên tôi là Joshua và tôi là một 5 ft 11 CEO
Tên tôi là James và tôi là một 6 ft 1 lập trình viên
Tên tôi là Peter và tôi là một 4 ft 10 nhà thiết kế
Tên tôi là Joshua và tôi là một 5 ft 11 CEO
Note bên ngoài vòng lặp, tôi phải sử dụng cú pháp khung hình vuông với một khóa số vì đây là một 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, phím số được ngụ ý.
Băm được lặp lại với $ .each sẽ không làm gì? Đây là tiêu chuẩn khá nhiều. – kgiannakakis
băm? bất kỳ mẫu mã nào? –
Tại sao trên thế giới bạn muốn sử dụng jQuery cho nhiệm vụ cơ bản đơn giản này, kgiannakakis? –