Mảng có một loạt các phương thức [xin lỗi, chơi chữ dở 😝]. Vì vậy, bằng cách chuyển đổi đối tượng thành một mảng, bạn có quyền truy cập vào tất cả những thứ đó. Tuyệt vời 🥳
const zoo = {
lion: '🦁',
panda: '🐼',
};
Object.keys[zoo];
// ['lion', 'panda']
Object.values[zoo];
// ['🦁', '🐼']
Object.entries[zoo];
// [ ['lion', '🦁'], ['panda', '🐼'] ]
- Thời gian cho một câu chuyện
- thời cổ đại
- ES6 - Đối tượng. phím
- Sự vật. giá trị
- Sự vật. mục
- Sự vật. mục nhập + Phá hủy
- kết thúc câu chuyện
- Hỗ trợ trình duyệt
- Nhưng xin chờ chút nữa
- Đầu vào của cộng đồng
- Tài nguyên
# Thời gian cho một câu chuyện
# thời cổ đại
Cách đây rất lâu, trong một thiên hà xa xôi, việc lướt qua các Vật thể không dễ dàng như vậy. Được rồi, tôi đang phóng đại một chút 😅. Nhưng tôi nhớ bất cứ khi nào tôi cần chuyển đổi một
var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
1 thành một var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
2, tôi phải làm một việc như thế nàyvar numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
Tôi luôn luôn rất tức giận và ước có một cách tốt hơn
# ES6 - var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
3
var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
Và rồi ES6 đã xảy ra. Cuộc sống của tôi đã thay đổi. Cuối cùng chúng ta cũng có một cách dễ dàng hơn 🥳
Bây giờ, đã có một phương thức tích hợp giúp nhanh chóng biến tất cả các khóa trong đối tượng của tôi thành một mảng
const numbers = {
one: 1,
two: 2,
};
Object.keys[numbers];
// [ 'one', 'two' ]
Cuộc sống thật tươi đẹp. Nhưng rồi tôi lại nổi giận. Tại sao tôi chỉ có thể trích xuất các khóa, tôi cũng muốn các giá trị của mình. Con người luôn muốn nhiều hơn phải không 😂 Và rồi ES2017 ra mắt
# Sự vật. giá trị
Xin chào, tôi là ES2017 và tôi sẽ đáp ứng mọi điều ước của bạn 🧞♀️. bây giờ bạn có thể dễ dàng trích xuất các giá trị thành một mảng bằng một phương thức
const numbers = {
one: 1,
two: 2,
};
Object.values[numbers];
// [ 1, 2 ]
# Sự vật. mục
Nhưng ES2017 không dừng lại ở đó. Nó đã cho tôi nhiều hơn. Tôi cấp cho bạn CẢ HAI khóa và giá trị ngay bây giờ, vì vậy đừng tức giận nữa. Tôi bị thổi bay. Nó khiến cái nhíu mày của tôi lộn ngược 😆
const numbers = {
one: 1,
two: 2,
};
Object.entries[numbers];
// [ ['one', 1], ['two', 2] ]
Booya 👊
# Sự vật. mục nhập + Phá hủy
Nhưng sau đó tôi giống như. mảng lồng nhau 🤨. Thôi nào, không vui khi làm việc với. ES6 sà vào là thích, đừng lo. Đó là lý do tại sao tôi đã cho bạn phá hủy
const numbers = {
one: 1,
};
const objectArray = Object.entries[numbers];
objectArray.forEach[[[key, value]] => {
console.log[key]; // 'one'
console.log[value]; // 1
}];
ES6, đó là lý do tại sao bạn đơn giản là giỏi nhất 💛
# Kết thúc câu chuyện
Hy vọng bạn thích thời gian kể chuyện mã của tôi 😂
Bây giờ hãy ra ngoài đó và tận hưởng niềm vui với tất cả các phương thức Đối tượng tuyệt vời này 😊
# Hỗ trợ trình duyệt
var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
3 có sự hỗ trợ tốt nhất. Khi tôi nói tốt nhất, có nghĩa là nó hỗ trợ Internet Explorer 😆. Thật không may, cái còn lại, var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
1 và var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
2, không hỗ trợ Internet Explorer. May mắn thay, polyfill tồn tại có thể cải thiện hỗ trợPolyfill
- MDN. Sự vật. phím
- MDN. Sự vật. giá trị
- MDN. Sự vật. mục
# Nhưng xin chờ chút nữa
Câu hỏi tiếp theo của bạn có thể là, bây giờ làm cách nào để chuyển đổi mảng trở lại đối tượng. Đừng lo lắng, điều đó được bảo hiểm. Có một phương pháp mới gọi là
var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
3. Về cơ bản, nó trái ngược với var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
2var numbers = {
one: 1,
two: 2,
};
var keys = [];
for [var number in numbers] {
if [numbers.hasOwnProperty[number]] {
keys.push[number];
}
}
keys; // [ 'one', 'two' ]
0MDN. Sự vật. fromEntries
Ghi chú. Điều này là cực kỳ mới, vì vậy hỗ trợ sẽ bị hạn chế. Giữ cái này trong hộp kiến thức của bạn, nhưng có thể đợi thêm một thời gian nữa trước khi bạn đặt nó vào hộp công cụ thực sự của mình 🧰