Hướng dẫn javascript convert array to object without key - javascript chuyển đổi mảng thành đối tượng mà không cần khóa

Tôi có một mảng:

[ [ 'cardType', 'iDEBIT' ],
  [ 'txnAmount', '17.64' ],
  [ 'txnId', '20181' ],
  [ 'txnType', 'Purchase' ],
  [ 'txnDate', '2015/08/13 21:50:04' ],
  [ 'respCode', '0' ],
  [ 'isoCode', '0' ],
  [ 'authCode', '' ],
  [ 'acquirerInvoice', '0' ],
  [ 'message', '' ],
  [ 'isComplete', 'true' ],
  [ 'isTimeout', 'false' ] ]

Nhưng tôi không thể truy cập dữ liệu thông qua khóa của một mảng, ví dụ: arr['txnId'] không trả lại 20181. Làm thế nào tôi có thể chuyển đổi mảng các bộ dữ liệu trên thành một đối tượng, để tôi có thể dễ dàng truy cập dữ liệu theo khóa.

Nhà điều hành lan truyền có hoạt động trên các đối tượng không?

Có thể sử dụng cú pháp lan truyền khi tất cả các phần tử từ một đối tượng hoặc mảng cần được đưa vào một mảng hoặc đối tượng mới, hoặc nên được áp dụng từng người một trong danh sách đối số của Call.

  1. Các phím đối tượng trong JavaScript là gì?
  2. Object.keys () Trả về một mảng có các phần tử là các chuỗi tương ứng với các thuộc tính được tìm thấy trực tiếp trên đối tượng. Thứ tự của các thuộc tính giống như được đưa ra bằng cách lặp qua các thuộc tính của đối tượng theo cách thủ công.
  3. Chuyển đổi các giá trị của một mảng thành các phím đối tượng #

Copied!

const arr = ['name', 'age', 'country']; const obj = arr.reduce((accumulator, value) => { return {...accumulator, [value]: ''}; }, {}); console.log(obj); // 👉️ {name: '', age: '', country: ''}

Để chuyển đổi các giá trị của một mảng thành các phím đối tượng:

Sử dụng phương thức reduce() để lặp qua mảng.

Trên mỗi lần lặp, gán phần tử mảng làm khóa trong đối tượng tích lũy.

Phương thức

Copied!

const arr = ['name', 'age', 'country']; const obj = arr.reduce((accumulator, value) => { return {...accumulator, [value]: ''}; }, {}); console.log(obj); // 👉️ {name: '', age: '', country: ''}
0 sẽ xây dựng một đối tượng từ các giá trị của mảng.

Nếu bạn không thích sử dụng phương thức

Copied!

const arr = ['name', 'age', 'country']; const obj = arr.reduce((accumulator, value) => { return {...accumulator, [value]: ''}; }, {}); console.log(obj); // 👉️ {name: '', age: '', country: ''}
0, hãy cuộn xuống đoạn mã tiếp theo.

Hàm chúng tôi đã chuyển đến phương thức mảng.Reduce được gọi với mỗi phần tử trong mảng.

Chúng tôi đã cung cấp một đối tượng trống làm giá trị ban đầu cho biến

Copied!

const arr = ['name', 'age', 'country']; const obj = arr.reduce((accumulator, value) => { return {...accumulator, [value]: ''}; }, {}); console.log(obj); // 👉️ {name: '', age: '', country: ''}
2.

Có thể sử dụng cú pháp lan truyền khi tất cả các phần tử từ một đối tượng hoặc mảng cần được đưa vào một mảng hoặc đối tượng mới, hoặc nên được áp dụng từng người một trong danh sách đối số của Call.

  1. Các phím đối tượng trong JavaScript là gì?
  2. Object.keys () Trả về một mảng có các phần tử là các chuỗi tương ứng với các thuộc tính được tìm thấy trực tiếp trên đối tượng. Thứ tự của các thuộc tính giống như được đưa ra bằng cách lặp qua các thuộc tính của đối tượng theo cách thủ công.
  3. Chuyển đổi các giá trị của một mảng thành các phím đối tượng #

Copied!

const arr = ['name', 'age', 'country']; const obj = {}; arr.forEach(element => { obj[element] = ''; }); console.log(obj); // 👉️ {name: '', age: '', country: ''}

Để chuyển đổi các giá trị của một mảng thành các phím đối tượng:

Sử dụng phương thức reduce() để lặp qua mảng.

Trên mỗi lần lặp, gán phần tử mảng làm khóa trong đối tượng tích lũy.

Phương thức

Copied!

const arr = ['name', 'age', 'country']; const obj = arr.reduce((accumulator, value) => { return {...accumulator, [value]: ''}; }, {}); console.log(obj); // 👉️ {name: '', age: '', country: ''}
0 sẽ xây dựng một đối tượng từ các giá trị của mảng.

Nếu bạn không thích sử dụng phương thức Copied!const arr = ['name', 'age', 'country']; const obj = arr.reduce((accumulator, value) => { return {...accumulator, [value]: ''}; }, {}); console.log(obj); // 👉️ {name: '', age: '', country: ''} 0, hãy cuộn xuống đoạn mã tiếp theo.

  • Hàm chúng tôi đã chuyển đến phương thức mảng.Reduce được gọi với mỗi phần tử trong mảng.
  • Chúng tôi đã cung cấp một đối tượng trống làm giá trị ban đầu cho biến

    Copied!

    const arr = ['name', 'age', 'country']; const obj = arr.reduce((accumulator, value) => { return {...accumulator, [value]: ''}; }, {}); console.log(obj); // 👉️ {name: '', age: '', country: ''}
    2.

Hướng dẫn javascript convert array to object without key - javascript chuyển đổi mảng thành đối tượng mà không cần khóa

Hướng dẫn javascript convert array to object without key - javascript chuyển đổi mảng thành đối tượng mà không cần khóa

Hình ảnh từ Unraw.co

Ban đầu được đăng trên afewminutesofcode.com

Để chuyển đổi một mảng thành một đối tượng, chúng tôi sẽ tạo một hàm và cung cấp cho nó 2 thuộc tính, một mảng và khóa.

const convertArrayToObject = (array, key) => {};

Nhập chế độ FullScreenen EXIT Mode FullScreen

Sau đó, chúng tôi sẽ giảm mảng và tạo một thuộc tính duy nhất cho mỗi mục dựa trên khóa chúng tôi đã chuyển vào.

Chúng ta cũng cần nhớ đặt giá trị ban đầu và cũng vượt qua giá trị hiện tại (... OBJ ở bên dưới).

const convertArrayToObject = (array, key) => {
  const initialValue = {};
  return array.reduce((obj, item) => {
    return {
      ...obj,
      [item[key]]: item,
    };
  }, initialValue);
};

Nhập chế độ FullScreenen EXIT Mode FullScreen

Sau đó, chúng tôi sẽ giảm mảng và tạo một thuộc tính duy nhất cho mỗi mục dựa trên khóa chúng tôi đã chuyển vào.

console.log(
  convertArrayToObject(
    [
      { id: 111, name: 'John', age: 29 },
      { id: 112, name: 'Sarah', age: 25 },
      { id: 122, name: 'Kate', age: 22 },
      { id: 123, name: 'Tom', age: 21 },
      { id: 125, name: 'Emma', age: 24 },
    ],
    'id',
  ),
);

Nhập chế độ FullScreenen EXIT Mode FullScreen

Sau đó, chúng tôi sẽ giảm mảng và tạo một thuộc tính duy nhất cho mỗi mục dựa trên khóa chúng tôi đã chuyển vào.

{
  111:{ id: 111, name: 'John', age: 29 },
  112:{ id: 112, name: 'Sarah', age: 25 },
  122:{ id: 122, name: 'Kate', age: 22 },
  123:{ id: 123, name: 'Tom', age: 21 },
  125:{ id: 125, name: 'Emma', age: 24 }
}

Nhập chế độ FullScreenen EXIT Mode FullScreen

Sau đó, chúng tôi sẽ giảm mảng và tạo một thuộc tính duy nhất cho mỗi mục dựa trên khóa chúng tôi đã chuyển vào.

Chúng ta cũng cần nhớ đặt giá trị ban đầu và cũng vượt qua giá trị hiện tại (... OBJ ở bên dưới).

Vì vậy, bây giờ nếu chúng tôi đăng xuất chức năng của mình (chuyển trong mảng và khóa của chúng tôi là một mã định danh duy nhất trong trường hợp này, thuộc tính ID), chúng tôi sẽ thấy mảng của chúng tôi bây giờ là một đối tượng.
Facebook
afewminutesofcode.com
Twitter
Pinterest

Phương pháp nào được sử dụng để chuyển đổi mảng lồng nhau thành đối tượng?

Bạn có thể sử dụng MAP để lặp qua các subarrays trong mảng chính của bạn và sau đó sử dụng giảm để chuyển đổi mảng con của họ thành các thuộc tính đối tượng.use map to iterate over the subarrays in your main array and then use reduce to convert their child arrays to object properties.

Đó là ví dụ hợp lệ cho phương thức đối tượng fromentries ()?

Phương thức fromentries () trong javascript: Ví dụ 1: Chuyển đổi bản đồ thành một đối tượng.Ví dụ 2: Chuyển đổi một mảng thành một đối tượng.Trình duyệt được hỗ trợ: Các trình duyệt được hỗ trợ bởi đối tượng.Conversion of a Map into an Object. Example 2: Conversion of a Array into an Object. Supported Browsers: The browsers supported by Object.

Nhà điều hành lan truyền có hoạt động trên các đối tượng không?

Có thể sử dụng cú pháp lan truyền khi tất cả các phần tử từ một đối tượng hoặc mảng cần được đưa vào một mảng hoặc đối tượng mới, hoặc nên được áp dụng từng người một trong danh sách đối số của Call., or should be applied one-by-one in a function call's arguments list.

Các phím đối tượng trong JavaScript là gì?

Object.keys () Trả về một mảng có các phần tử là các chuỗi tương ứng với các thuộc tính được tìm thấy trực tiếp trên đối tượng.Thứ tự của các thuộc tính giống như được đưa ra bằng cách lặp qua các thuộc tính của đối tượng theo cách thủ công.returns an array whose elements are strings corresponding to the enumerable properties found directly upon object . The ordering of the properties is the same as that given by looping over the properties of the object manually.