Nhận đối tượng bằng khóa JavaScript

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

  • let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    3
  • let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    4
  • let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    5

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
    let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    6

Xin lưu ý các điểm khác biệt (ví dụ so với bản đồ)

MapObjectCall cú pháp
let 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" Array

Sự 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
}
2

Tạ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

  • let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    9
  • let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    00
  • let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    01

Đâ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ính

let 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óa

Thô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ác

Nế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

  1. Sử dụng
    let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    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
    }
    70
  2. Sử dụng các phương thức mảng trên 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, để chuyển đổi các cặp khóa/giá trị này
  3. Sử dụng
    let user = {
      name: "John",
      age: 30
    };
    
    // loop over values
    for (let value of Object.values(user)) {
      alert(value); // John, then 30
    }
    72 trên mảng kết quả để biến nó trở lại thành một đối tượng

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
}
0

Thoạ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

Làm cách nào để nhận giá trị dựa trên khóa trong JavaScript?

các khóa đối tượng javascript .
Sử dụng ký hiệu dấu chấm. Ký hiệu dấu chấm là cách được sử dụng phổ biến nhất để truy cập giá trị của đối tượng. Để sử dụng, hãy viết tên của đối tượng theo sau là dấu chấm và sau đó là tên của khóa. .
Sử dụng dấu ngoặc vuông. Dấu ngoặc vuông là một cách khác để truy cập giá trị của đối tượng

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

Phương pháp 1. Sử dụng một đối tượng để lưu trữ các cặp khóa => giá trị. .
Phương pháp 2. Sử dụng phương thức map(). .
phương thức keys(). .
phương thức value(). .
phương thức map()

Làm cách nào để lấy dữ liệu đối tượng trong JavaScript?

Bạn có thể truy cập các thuộc tính của một đối tượng trong JavaScript theo 3 cách. .
Trình truy cập thuộc tính dấu chấm. mục tiêu. tài sản
Truy cập thuộc tính dấu ngoặc vuông. đối tượng ['thuộc tính']
phá hủy đối tượng. const {thuộc tính} = đối tượng

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

Một giá trị đối tượng có thể được truy cập bằng Ký hiệu Dấu chấm và Ký hiệu Dấu ngoặc. Để lấy giá trị đối tượng thông qua một khóa biến, giá trị hoặc biểu thức bên trong ký hiệu dấu ngoặc phải khớp với tên khóa hiện có, sau đó nó trả về một giá trị . Ký hiệu dấu ngoặc, không giống như ký hiệu dấu chấm có thể được sử dụng với các biến.