Các phương pháp này là chung chung, có một thỏa thuận chung để sử dụng chúng cho các cấu trúc dữ liệu. Nếu chúng ta từng tạo cấu trúc dữ liệu của riêng mình, chúng ta cũng nên triển khai chúng
Chúng được hỗ trợ cho
3let user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
4let user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
5let user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
Các đối tượng đơn giản cũng hỗ trợ các phương thức tương tự, nhưng cú pháp hơi khác một chút
Đối với các đối tượng đơn giản, các phương thức sau đây khả dụng
- Mục tiêu. keys[obj] – trả về một mảng các phím
- Mục tiêu. giá trị [obj] – trả về một mảng giá trị
- Mục tiêu. các mục [obj] – trả về một mảng gồm các cặp
6let user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
Xin lưu ý các điểm khác biệt [ví dụ so với bản đồ]
MapObjectCall cú pháplet user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
7_______01, nhưng không phải let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
2Returnsiterable"real" ArraySự khác biệt đầu tiên là chúng ta phải gọi
let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
1 chứ không phải let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
2Tại sao vậy? . Hãy nhớ rằng, các đối tượng là cơ sở của tất cả các cấu trúc phức tạp trong JavaScript. Vì vậy, chúng ta có thể có một đối tượng của riêng mình như
let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
5 thực hiện phương thức let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
6 của chính nó. Và chúng ta vẫn có thể gọi let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
7 trên đóSự khác biệt thứ hai là các phương thức
let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
8 trả về các đối tượng mảng “thực”, không chỉ là một đối tượng có thể lặp lại. Đó chủ yếu là vì lý do lịch sửVí dụ
________số 8
9let user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
00let user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
01let user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
Đây là một ví dụ về việc sử dụng
let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
02 để lặp qua các giá trị thuộc tínhlet user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
Mục tiêu. khóa/giá trị/mục nhập bỏ qua các thuộc tính tượng trưng
Giống như vòng lặp
let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
03, các phương thức này bỏ qua các thuộc tính sử dụng let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
04 làm khóaThông thường đó là thuận tiện. Nhưng nếu chúng ta cũng muốn các khóa tượng trưng, thì có một phương thức riêng Object. getOwnPropertySymbols trả về một mảng chỉ các khóa tượng trưng. Ngoài ra, tồn tại một phương thức Reflect. ownKeys[obj] trả về tất cả các khóa
Các đối tượng thiếu nhiều phương thức tồn tại cho mảng, e. g.
let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
05, let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
06 và những người khácNếu chúng tôi muốn áp dụng chúng, thì chúng tôi có thể sử dụng
let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
07 theo sau là let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
08- Sử dụng
09 để lấy một mảng các cặp khóa/giá trị từlet user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
70let user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
- Sử dụng các phương thức mảng trên mảng đó, e. g.
05, để chuyển đổi các cặp khóa/giá trị nàylet user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
- Sử dụng
72 trên mảng kết quả để biến nó trở lại thành một đối tượnglet user = { name: "John", age: 30 }; // loop over values for [let value of Object.values[user]] { alert[value]; // John, then 30 }
Ví dụ: chúng tôi có một đối tượng có giá và muốn nhân đôi chúng
let user = {
name: "John",
age: 30
};
// loop over values
for [let value of Object.values[user]] {
alert[value]; // John, then 30
}
0Thoạt nhìn có vẻ khó, nhưng sẽ trở nên dễ hiểu sau khi bạn sử dụng một hoặc hai lần. Chúng ta có thể tạo ra những chuỗi biến đổi mạnh mẽ theo cách này