Một mảng có thể là một khóa đối tượng javascript không?

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ày

var 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

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' ]
2

var numbers = {
  one: 1,
  two: 2,
};

var keys = [];

for [var number in numbers] {
  if [numbers.hasOwnProperty[number]] {
    keys.push[number];
  }
}

keys; // [ 'one', 'two' ]
0

MDN. 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 🧰

Khóa đối tượng JavaScript có thể là một mảng không?

Mô tả. Đối tượng. keys[] trả về một mảng có các phần tử là các chuỗi tương ứng với vô số tên thuộc tính có khóa chuỗi được tìm thấy trực tiếp trên đối tượng .

Khóa đối tượng có thể là mảng không?

Chúng ta cũng có thể tạo một mảng chứa tất cả các khóa được lưu trữ trong một đối tượng bằng cách sử dụng Đối tượng. keys[] và truyền vào một đối tượng làm đối số . Điều này sẽ trả về một mảng với các chuỗi đại diện cho từng thuộc tính trong đối tượng. Một lần nữa, sẽ không có thứ tự cụ thể cho các mục trong mảng.

Điều gì có thể là khóa đối tượng JavaScript?

Các khóa trong đối tượng javascript có thể là chuỗi và ký hiệu .

Bạn có thể có một đối tượng làm khóa JS không?

Bạn có thể sử dụng đối tượng làm khóa Đối tượng trong JavaScript không? . Tất cả các khóa đối tượng JavaScript đều là chuỗi .

Chủ Đề