Mảng thành cặp giá trị khóa javascript

Thí dụ

Tạo một đối tượng Array Iterator, chứa các khóa của mảng

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
phím const = trái cây. phím();

hãy để văn bản = "";
for (let x of keys) {
văn bản += x + "
“;
}

Tự mình thử »

Sử dụng đối tượng tích hợp. keys() Phương thức

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
khóa const = Đối tượng. chìa khóa (trái cây);

hãy để văn bản = "";
for (let x of keys) {
văn bản += x + "
“;
}

Tự mình thử »


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

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

Phương thức keys() không thay đổi mảng ban đầu


cú pháp

Thông số

Giá trị trả về

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

Hỗ trợ trình duyệt

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ó

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

Hàm chúng tôi đã chuyển đến Mảng. Phương thức forEach() được gọi với từng phần tử (đối tượng) trong mảng

Trên mỗi lần lặp lại, chúng tôi thêm một cặp khóa/giá trị vào đối tượng hiện tại

Nếu tên của khóa bạn cần thêm vào đối tượng chứa dấu gạch ngang, dấu cách hoặc bắt đầu bằng một số, hãy sử dụng ký hiệu dấu ngoặc để thêm khóa vào từng đối tượng

Phương thức Array.forEach() lặp lại mảng và thêm cặp khóa-giá trị vào từng đối tượng tại chỗ

Nếu bạn không muốn thay đổi mảng ban đầu, hãy sử dụng phương thức Array.map()

Thêm một cặp Khóa/Giá trị cho tất cả các Đối tượng trong Mảng bằng cách sử dụng Array.map()

Để thêm một cặp khóa/giá trị cho tất cả các đối tượng trong một mảng

  1. Sử dụng phương thức Array.map() để lặp lại mảng
  2. Sử dụng cú pháp trải rộng để thêm một cặp khóa/giá trị cho từng đối tượng
  3. Cặp khóa/giá trị sẽ được thêm vào tất cả các đối tượng trong mảng mới

Hàm chúng tôi đã chuyển đến Mảng. phương thức map() được gọi với từng phần tử (đối tượng) trong mảng

Chúng tôi đã sử dụng cú pháp lây lan (. ) để giải nén các cặp khóa/giá trị của từng đối tượng và thêm một cặp khóa/giá trị bổ sung

Một cách dễ dàng để nghĩ về cú pháp lây lan là chúng ta giải nén các cặp khóa/giá trị của đối tượng nguồn thành đối tượng đích

Về cơ bản, chúng tôi chuyển qua thuộc tính id và thêm thuộc tính color cho mỗi đối tượng

Phương thức Array.map() khác với phương thức Array.forEach() bởi vì map() trả về một mảng mới, trong khi đó, Array.forEach()0 trả về Array.forEach()1

Khi sử dụng phương thức Array.forEach()0, chúng ta biến mảng tại chỗ

Bạn cũng có thể sử dụng phương thức Array.forEach()3 thay vì sử dụng cú pháp lây lan

Chúng tôi đã sử dụng phương pháp Array.forEach()3 để sao chép các cặp khóa-giá trị của một hoặc nhiều đối tượng vào một đối tượng mục tiêu

Các đối số chúng tôi đã chuyển đến Đối tượng. phương thức gán() là

  1. đối tượng đích - đối tượng mà các thuộc tính được cung cấp sẽ được áp dụng
  2. (các) đối tượng nguồn - một hoặc nhiều đối tượng chứa các thuộc tính mà chúng ta muốn áp dụng cho đối tượng đích

Bạn có thể tưởng tượng rằng các cặp khóa-giá trị của đối tượng mà chúng tôi đã chuyển làm đối số thứ hai cho Array.forEach()3, được sao chép vào đối tượng mà chúng tôi đã cung cấp cho đối số đầu tiên

Nếu bạn cần thêm một cặp khóa-giá trị cho tất cả các đối tượng trong một mảng theo điều kiện, hãy sử dụng toán tử bậc ba

Toán tử bậc ba rất giống với câu lệnh Array.forEach()6

Nếu biểu thức bên trái dấu chấm hỏi trả về giá trị trung thực, thì toán tử trả về giá trị bên trái dấu hai chấm, ngược lại, giá trị bên phải dấu hai chấm được trả về

Trong ví dụ này, chúng tôi kiểm tra xem thuộc tính id của đối tượng hiện tại có lớn hơn Array.forEach()8 hay không

Nếu điều kiện được đáp ứng, chuỗi Array.forEach()9 được trả về cho thuộc tính Array.map()0, nếu không, chuỗi Array.map()1 được trả về

Đây là câu lệnh Array.forEach()6 tương đương

Nếu thuộc tính id của đối tượng lớn hơn Array.forEach()8, thì khối Array.map()5 sẽ chạy, ngược lại, khối Array.map()6 sẽ chạy

Giới thiệu. Các đối tượng, trong JavaScript, là kiểu dữ liệu quan trọng nhất của nó và tạo thành các khối xây dựng cho JavaScript hiện đại. Các đối tượng này hoàn toàn khác với các kiểu dữ liệu nguyên thủy của JavaScript (Số, Chuỗi, Boolean, null, không xác định và ký hiệu). Các đối tượng phức tạp hơn và mỗi đối tượng có thể chứa bất kỳ sự kết hợp nào của các kiểu dữ liệu nguyên thủy này cũng như các kiểu dữ liệu tham chiếu, trong khi mảng là một biến duy nhất được sử dụng để lưu trữ các phần tử khác nhau. Nó thường được sử dụng khi chúng ta muốn lưu trữ một danh sách các phần tử và truy cập chúng bằng một biến duy nhất. Chúng ta có thể chuyển đổi một Đối tượng {} thành một Mảng [] của các cặp khóa-giá trị bằng các phương thức được thảo luận bên dưới.  

Phương pháp 1. Trong phương pháp này, chúng ta sẽ sử dụng Object. keys() và map() để đạt được điều này.  

Tiếp cận. Bằng cách sử dụng đối tượng. keys(), chúng tôi đang trích xuất các khóa từ Đối tượng, sau đó khóa này được chuyển đến hàm map() ánh xạ khóa và giá trị tương ứng dưới dạng một mảng, như được mô tả trong ví dụ bên dưới.  

cú pháp

Object.keys(obj)

Thông số.  

  • đối tượng. Đó là đối tượng có vô số thuộc tính sẽ được trả về
map(function callback(currentValue[, index[, array]]){
    // Return element for new_array
}

Tham số.  

  • gọi lại. Hàm tạo ra một phần tử của Mảng mới

Thí dụ. Trong ví dụ này, một đối tượng javascript sẽ được chuyển đổi thành một mảng javascript bằng cách sử dụng Object. phương thức keys() và map()

jav