Khóa trong đối tượng javascript là gì?

Object.keys() trả về một mảng gồm các tên thuộc tính có thể đếm được của một đối tượng nhất định

Ví dụ

let Student = {
  name: "Lisa",
  age: 24,
  marks: 78.9,
};

// get all keys of Student let std1 = Object.keys(Student);

console.log(std1); // Output: [ 'name', 'age', 'marks' ]


keys() Cú pháp

Cú pháp của phương thức keys()

Object.keys(obj)

Phương thức keys(), là một phương thức tĩnh, được gọi bằng tên lớp Object


keys() Tham số

Phương thức keys() nhận

  • obj - Đối tượng có vô số thuộc tính sẽ được trả về

keys() Giá trị trả về

  • Trả về một mảng các chuỗi đại diện cho tất cả các thuộc tính có thể đếm được của đối tượng đã cho

Ghi chú. Thứ tự của các thuộc tính giống như khi lặp lại chúng theo cách thủ công


Ví dụ. Sử dụng đối tượng. phím()

// Array objects
const arr = ["A", "B", "C"];

console.log(Object.keys(arr)); // ['0', '1', '2']

// array-like objects const obj = { 65: "A", 66: "B", 67: "C" };

console.log(Object.keys(obj)); // ['65', '66', '67']

// random key ordering const obj1 = { 42: "a", 22: "b", 71: "c" };

console.log(Object.keys(obj1)); // ['22', '42', '71']

// string => from ES2015+, non objects are coerced to object const string = "code";

console.log(Object.keys(string)); // [ '0', '1', '2', '3' ]

đầu ra

[ '0', '1', '2' ]
[ '65', '66', '67' ]
[ '22', '42', '71' ]
[ '0', '1', '2', '3' ]

đề xuất đọc. Các mục đối tượng Javascript()

Hãy cẩn thận. Toán tử

Object.keys(obj)
0 khớp với tất cả các khóa đối tượng, bao gồm các khóa trong chuỗi nguyên mẫu của đối tượng

Sử dụng

Object.keys(obj)
1 để kiểm tra khóa riêng của đối tượng và sẽ chỉ trả về
Object.keys(obj)
2 nếu
Object.keys(obj)
3 trực tiếp có sẵn trên
Object.keys(obj)
4

myObj.hasOwnProperty('key')

Trừ khi bạn có lý do cụ thể để sử dụng toán tử

Object.keys(obj)
0, việc sử dụng
Object.keys(obj)
1 sẽ tạo ra kết quả mà hầu hết mã đang tìm kiếm

Ví dụ

Sử dụng đối tượng. keys() trên một mảng

const fruit = ["Chuối", "Cam", "Táo", "Xoài"];
const keys = Đối tượng. phím(trái cây);

Tự mình thử »

Sử dụng đối tượng. keys() trên một chuỗi

const fruit = "Banana";
const keys = Object. phím(trái cây);

Tự mình thử »

Sử dụng đối tượng. keys() trên một đối tượng

const person = {
  firstName. "John",
  Họ. "Doe",
  tuổi. 50,
  màu mắt. "blue"
};
const keys = Object. chìa khóa(người);

Tự mình thử »


Định nghĩa và cách sử dụng

Phương thức Object.keys() trả về một đối tượng Array Iterator với các khóa của một đối tượng

Phương thức Object.keys() không thay đổi đối tượng ban đầu


cú pháp

Thông số

Tham sốMô tảđối tượngBắt buộc.
Một đối tượng có thể lặp lại.

Giá trị trả về

TypeDescriptionMột mảngMột đối tượng Array Iterator chứa các khóa của một đối tượng

Hỗ trợ trình duyệt

Object.keys() là một tính năng ECMAScript6 (ES6)

ES6 (JavaScript 2015) được hỗ trợ trong tất cả các trình duyệt hiện đại

ChromeEdgeFirefoxSafariOperaCóCóCóCóCó

Object.keys() không được hỗ trợ trong Internet Explorer 11 (hoặc cũ hơn)



Một đối tượng trong JavaScript là một tập hợp các cặp khóa-giá trị không theo thứ tự (

// Array objects
const arr = ["A", "B", "C"];

console.log(Object.keys(arr)); // ['0', '1', '2']

// array-like objects const obj = { 65: "A", 66: "B", 67: "C" };

console.log(Object.keys(obj)); // ['65', '66', '67']

// random key ordering const obj1 = { 42: "a", 22: "b", 71: "c" };

console.log(Object.keys(obj1)); // ['22', '42', '71']

// string => from ES2015+, non objects are coerced to object const string = "code";

console.log(Object.keys(string)); // [ '0', '1', '2', '3' ]

1). Mỗi khóa được gọi là một thuộc tính và là một chuỗi đại diện cho tên thuộc tính. Nếu một khóa không phải là chuỗi được cung cấp làm khóa, thì biểu diễn chuỗi hóa của nó sẽ được sử dụng. Giá trị của thuộc tính có thể thuộc bất kỳ loại dữ liệu nào phù hợp với thuộc tính về mặt khái niệm - một chuỗi, một số, một mảng hoặc thậm chí là một hàm

Mặt khác, một mảng là một tập hợp các giá trị được sắp xếp. Mỗi giá trị được gọi là một phần tử, được xác định bởi một chỉ số số. Một mảng có thể bao gồm các giá trị của hầu hết mọi loại. Ví dụ: nó có thể lưu trữ các mục như số nguyên, chuỗi, booleans, hàm, v.v. Mảng JavaScript cũng không bị giới hạn ở một loại duy nhất, nghĩa là một mảng nhất định có thể chứa nhiều loại khác nhau bên trong nó

Khi làm việc với JavaScript, tại một thời điểm cụ thể, bạn có thể cần xác định xem một khóa có tồn tại trong một đối tượng hoặc mảng nhất định hay không

Trong bài viết này, chúng ta sẽ thấy các phương pháp khác nhau mà chúng ta có thể sử dụng để kiểm tra xem một khóa cụ thể có tồn tại trong một đối tượng/mảng JavaScript hay không

Sử dụng toán tử
Object.keys(obj)
0

Toán tử

Object.keys(obj)
0 trong JavaScript được sử dụng để xác định xem một thuộc tính nhất định có tồn tại trong một đối tượng hoặc các thuộc tính kế thừa của nó hay không (còn được gọi là chuỗi nguyên mẫu của nó). Nếu thuộc tính được cung cấp tồn tại, toán tử
Object.keys(obj)
0 trả về true

Kiểm tra một đối tượng
Kiểm tra một mảng

Vì chúng tôi đã chứng minh rằng toán tử JavaScript

Object.keys(obj)
0 có thể được sử dụng với các đối tượng, nên bạn có thể hỏi liệu nó cũng có thể được sử dụng với các mảng hay không. Trong JavaScript, mọi thứ đều là một thể hiện của kiểu Đối tượng (ngoại trừ kiểu nguyên thủy), vì vậy mảng cũng hỗ trợ toán tử
Object.keys(obj)
0

Hãy xác nhận xem đó có phải là một thể hiện của loại Object hay không bằng cách sử dụng toán tử

// Array objects
const arr = ["A", "B", "C"];

console.log(Object.keys(arr)); // ['0', '1', '2']

// array-like objects const obj = { 65: "A", 66: "B", 67: "C" };

console.log(Object.keys(obj)); // ['65', '66', '67']

// random key ordering const obj1 = { 42: "a", 22: "b", 71: "c" };

console.log(Object.keys(obj1)); // ['22', '42', '71']

// string => from ES2015+, non objects are coerced to object const string = "code";

console.log(Object.keys(string)); // [ '0', '1', '2', '3' ]

8

Bây giờ, quay lại sử dụng toán tử

Object.keys(obj)
0

Điều này cũng sẽ trả về

Object.keys(obj)
2 cho các thuộc tính phương thức trên một kiểu mảng, trong đó mảng số là một thể hiện

Sử dụng Phương pháp
Object.keys(obj)
00

Trong JavaScript, hàm

Object.keys(obj)
00 được sử dụng để xác định xem đối tượng có thuộc tính được cung cấp làm thuộc tính riêng của nó hay không. Điều này rất quan trọng để xác định xem thuộc tính có được kế thừa bởi đối tượng hay không phải là của chính nó

Kiểm tra một đối tượng
Kiểm tra một mảng

Bạn có thể bắt đầu tự hỏi liệu điều này có hiệu quả với mảng không. Như chúng ta đã thiết lập trước đó, một mảng thực sự là một nguyên mẫu (ví dụ) của loại Object, do đó, nó cũng có sẵn phương thức này

Sử dụng Phương pháp
Object.keys(obj)
03

Phương thức tĩnh

Object.keys(obj)
04 tạo và trả về một mảng có các thành phần là chuỗi tên (khóa) thuộc tính của đối tượng. Điều này có thể được sử dụng để lặp qua các khóa của đối tượng, sau đó chúng ta có thể sử dụng khóa này để xác minh xem có khóa nào khớp với một khóa nhất định trong đối tượng hay không

Sử dụng Phương pháp
Object.keys(obj)
05

Object.keys(obj)
05 là một phương thức JavaScript kiểm tra hàm gọi lại trên tất cả các phần tử của mảng đang gọi và trả về
Object.keys(obj)
2 nếu hàm gọi lại trả về
Object.keys(obj)
2 cho bất kỳ phần tử nào trong số chúng

Sử dụng
Object.keys(obj)
05 cho các đối tượng

Chúng tôi cũng có thể tùy chỉnh chức năng này thành một chức năng có thể tái sử dụng

Sử dụng
Object.keys(obj)
05 cho một mảng

Một lần nữa, giống như với đối tượng, chúng ta cũng có thể sử dụng một chức năng tái sử dụng được tùy chỉnh tương tự để kiểm tra sự tồn tại của một giá trị trong một mảng

Sử dụng Phương pháp
Object.keys(obj)
01

Phương thức

Object.keys(obj)
01 của JavaScript sẽ trả về chỉ mục của phiên bản đầu tiên của một phần tử trong mảng. Nếu phần tử không tồn tại thì -1 được trả về

Sử dụng
Object.keys(obj)
01 cho một đối tượng

Loại Object trong JavaScript không thực sự hỗ trợ phương thức

Object.keys(obj)
05, vì các thuộc tính/khóa của nó vốn không có các vị trí được lập chỉ mục trong đối tượng. Thay vào đó, chúng ta có thể lấy các khóa của đối tượng dưới dạng một mảng và sau đó kiểm tra sự tồn tại của khóa bằng phương thức
Object.keys(obj)
05

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

Hãy nhớ rằng các đối tượng JavaScript không phải lúc nào cũng giữ nguyên thứ tự khóa, vì vậy chỉ mục được trả về có thể không có ý nghĩa như trong mảng. Trong trường hợp này, chỉ mục chủ yếu được sử dụng để xác định sự tồn tại của khóa

Đây là một ví dụ về việc sử dụng điều này trong một chức năng tiện ích

Sử dụng
Object.keys(obj)
01 cho một mảng

Như chúng ta đã thấy trong ví dụ trước, mảng hỗ trợ phương thức

Object.keys(obj)
05, không giống như các đối tượng. Để sử dụng nó, hãy chuyển giá trị của mục bạn đang tìm kiếm cho
Object.keys(obj)
05, sau đó giá trị này sẽ trả về vị trí của giá trị đó nếu nó tồn tại trong mảng

Phần kết luận

Trong bài viết này, chúng ta đã thấy tất cả các cách có thể để chúng ta có thể kiểm tra xem một khóa hoặc mục có tồn tại trong một đối tượng/mảng JavaScript hay không. Chúng tôi trình bày cách sử dụng toán tử

Object.keys(obj)
0, phương thức
Object.keys(obj)
00 và phương thức
Object.keys(obj)
02. Chúng ta cũng đã thấy các đối tượng JS và mảng tương tự như thế nào trong đó các mảng kế thừa từ các đối tượng và do đó chứa nhiều phương thức giống nhau

Đối tượng JavaScript có khóa không?

Các đối tượng trong JavaScript là các loại dữ liệu không nguyên thủy chứa một tập hợp các cặp khóa-giá trị không theo thứ tự. Như bạn có thể thấy trong hình trên, khóa là thuộc tính và mỗi giá trị đối tượng phải có khóa . Khi tương tác với các đối tượng, có thể nảy sinh các tình huống yêu cầu bạn kiểm tra xem có tồn tại một khóa cụ thể nào không.

Làm cách nào để lấy khóa trong đối tượng JavaScript?

Làm cách nào để lấy Khóa, Giá trị và Mục nhập trong Đối tượng JavaScript? .
Vật. keys(obj) – trả về tất cả các khóa của đối tượng dưới dạng mảng
Vật. giá trị (obj) – trả về tất cả các giá trị của đối tượng dưới dạng mảng
Vật. entry(obj) – trả về một mảng [key, value]

Khóa và giá trị trong đối tượng là gì?

Khóa của đối tượng là danh sách tên thuộc tính. Giá trị của một đối tượng là danh sách các giá trị thuộc tính . Các mục của một đối tượng là danh sách các cặp tên thuộc tính và giá trị tương ứng.

Khóa đối tượng có phải là một chuỗi không?

Tất cả các khóa đều là Chuỗi .