Làm cách nào để chuyển đổi mảng thành cặp giá trị khóa trong JavaScript?

Những gì chúng tôi có bên dưới là phản hồi đã chỉnh sửa từ lệnh gọi truy xuất api WSProxy tới đối tượng SOAP SubscriberStatusEvent. Trong mảng “Kết quả”, ta có thể thấy mảng “Thuộc tính” là một mảng các đối tượng, mỗi đối tượng có 2 thuộc tính Tên và Giá trị

....
var res = prox.retrieve("SubscriberStatusEvent", cols, filter);
Write("Output:<br><br>" + Stringify(res));****************
Output:
{
"Status": "OK",
"RequestID": "3558ebd5-4cb2-4cfb-83e6-5cc9b0f29774",
"Results": [
{
"ObjectID": "39a0d2c7-752e-e911-80d8-1402ec74dd75",
"CreatedDate": "2019-02-11T21:25:04.640",
"Properties": [
{
"Name": "SubscriberID",
"Value": "33919819"
},
{
"Name": "SubscriberKey",
"Value": "0036F00002uLTBaQAe"
},
{
"Name": "CurrentStatus",
"Value": "unsub"
},
{
"Name": "PreviousStatus",
"Value": "normal"
},
{
"Name": "ReasonUnsub",
"Value": "Unsubscribed via Import"
}
]
}],
"HasMoreRows": false
}

Vì vậy, làm thế nào chúng ta có thể chuyển đổi/sắp xếp lại mảng Thuộc tính

"Properties": [
{"Name": "SubscriberID", "Value": "33919819"},
{"Name": "SubscriberKey", "Value": "0036F00002uLTBaQAe"},
{"Name": "CurrentStatus", "Value": "unsub"},
{"Name": "PreviousStatus", "Value": "normal"},
{"Name": "ReasonUnsub", "Value": "Unsubscribed via Import"}
]

đến một cái gì đó tương tự như định dạng dưới đây

Giải pháp
"Properties": {
"SubscriberID": "33919819",
"SubscriberKey": "0036F00002uLTBaQAe",
"CurrentStatus": "unsub",
"PreviousStatus": "normal",
"ReasonUnsub": "Unsubscribed via Import"
}
(A)

Chúng ta có thể chạy vòng lặp for trên mảng “Properties” và sắp xếp lại dữ liệu

var ourData = [{"Name": "SubscriberID", "Value": "33919819"}, {"Name": "SubscriberKey", "Value": "0036F00002uLTBaQAe"}, {"Name": "CurrentStatus", "Value": "unsub"}, {"Name": "PreviousStatus", "Value": "normal"}, {"Name": "ReasonUnsub", "Value": "Unsubscribed via Import"}]var obj = {};for (var i=0; i<ourData.length; i++) {   obj[ourData[i]["Name"]] = ourData[i]["Value"];}

Thao tác này sẽ lặp qua từng mục trong mảng “ourData”, thu thập cặp Tên và Giá trị cho đối tượng, tạo thuộc tính và thêm thuộc tính đó vào đối tượng obj

GHI CHÚ. Cú pháp obj[ourData[i]["Name"]] là cách chúng ta thêm các thuộc tính động mới vào một đối tượng sau khi tạo lần đầu. Ký hiệu dấu chấm (ví dụ như; obj.ourData[i].Name) sẽ KHÔNG hoạt động nếu thuộc tính chúng tôi đang đặt được tạo động khi chạy. Chỉ sử dụng ký hiệu dấu chấm khi bạn biết tên của thuộc tính. Vì vậy, chúng ta cần sử dụng ký hiệu ngoặc vuông khi tên của thuộc tính được xác định động. Nhớ lại vòng lặp for là thứ đang tạo động thuộc tính. Thêm về điều này ở đây

Trong khi làm việc với các đối tượng và mảng javascript, yêu cầu chung mà các nhà phát triển gặp phải là chuyển đổi một đối tượng thành một mảng gồm các cặp khóa-giá trị. Bài viết này trình bày các cách dễ dàng để chuyển đổi các đối tượng thành một mảng gồm các cặp khóa-giá trị trong javascript bằng các phương thức khác nhau và ví dụ minh họa

Mục lục

Chuyển đổi một đối tượng{} thành một mảng[] của các cặp khóa-giá trị trong Javascript bằng cách sử dụng đối tượng. phím()

Đối tượng của Javascript. keys() trả về một mảng vô số tên thuộc tính của đối tượng.

ví dụ 1. -

Chuyển đổi đối tượng { personFirstName. 'George', personLastName. 'Smith', dateOfBirth. “14 tháng 11 năm 1984”, tuổi. 37} đến một mảng các cặp khóa-giá trị

quảng cáo

Mã số. -

let myObject =  { personFirstName: 'George', personLastName: 'Smith', dateOfBirth: "Nov 14 1984", age: 37};
var key_value_pair = Object.keys(myObject).map((key) => [key, myObject[key]]);
console.log(key_value_pair);

đầu ra. -

Đọc thêm

  • Nhận một tập hợp con các thuộc tính đối tượng của Javascript (4 cách)
  • Lặp qua một mảng trong javascript (6 cách)
  • Javascript. Lấy phần tử cuối cùng của một mảng
  • Javascript. Loại bỏ các bản sao khỏi mảng

[
  [ 'personFirstName', 'George' ],
  [ 'personLastName', 'Smith' ],
  [ 'dateOfBirth', 'Nov 14 1984' ],
  [ 'age', 37 ]
]

ví dụ 2. -

Chuyển đổi đối tượng {1. ‘George’, 2. ‘Ý chí’, 3. 'Patrick', 4. ‘Barbara’} đến một loạt các cặp khóa-giá trị

Mã số. -

let myObject =  { 1: 'George', 2: 'Will', 3: 'Patrick', 4: 'Barbara'};
var key_value_pair = Object.keys(myObject).map((key) => [key, myObject[key]]);
console.log(key_value_pair);

đầu ra. -

[
  [ '1', 'George' ],
  [ '2', 'Will' ],
  [ '3', 'Patrick' ],
  [ '4', 'Barbara' ]
]

Chuyển đổi một đối tượng{} thành một mảng[] của các cặp khóa-giá trị trong Javascript bằng cách sử dụng đối tượng. mục()

Đối tượng của Javascript. entry() trả về một mảng có thể đếm được các cặp khóa-giá trị của đối tượng.

ví dụ 1. -

Chuyển đổi đối tượng { personFirstName. 'George', personLastName. 'Smith', dateOfBirth. “14 tháng 11 năm 1984”, tuổi. 37} đến một mảng các cặp khóa-giá trị

Mã số. -

________số 8_______

đầu ra. -

[
  [ 'personFirstName', 'George' ],
  [ 'personLastName', 'Smith' ],
  [ 'dateOfBirth', 'Nov 14 1984' ],
  [ 'age', 37 ]
]

ví dụ 2. -

Chuyển đổi đối tượng {1. ‘George’, 2. ‘Ý chí’, 3. 'Patrick', 4. ‘Barbara’} đến một loạt các cặp khóa-giá trị

Mã số. -

let myObject =  { 1: 'George', 2: 'Will', 3: 'Patrick', 4: 'Barbara'};
var key_value_pair = Object.entries(myObject);
console.log(key_value_pair);

đầu ra. -

[
  [ '1', 'George' ],
  [ '2', 'Will' ],
  [ '3', 'Patrick' ],
  [ '4', 'Barbara' ]
]

Tôi hy vọng bài viết này đã giúp bạn chuyển đổi một đối tượng thành một mảng các cặp khóa-giá trị trong javascript. Chúc may mắn

Làm cách nào để chuyển đổi mảng của mảng thành JavaScript cặp giá trị chính?

const arr = [ {"tên". "Rahul", "ghi bàn". 89}, {"tên". "Vivek", "ghi điểm". 88}, {"tên". "Rakesh", "ghi điểm". 75}, {"tên". "Sourav", "ghi điểm". 82}, {"tên". "Gautam", "điểm số". 91}, {"tên". "Sunil", "ghi điểm". 79}, ];

Làm cách nào để lấy cặp giá trị khóa từ mả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()

Cách biến một mảng thành khóa

Để chuyển mảng thành đối tượng ta sẽ tạo 1 hàm và gán cho nó 2 thuộc tính là mảng và khóa. const convertArrayToObject = (array, key) => {}; Sau đó, chúng tôi sẽ giảm mảng và tạo một thuộc tính duy nhất cho từng mục dựa trên khóa .

Làm cách nào để tạo cặp giá trị khóa trong JavaScript?

Trả lời. Sử dụng ký hiệu dấu chấm hoặc dấu ngoặc vuông . ) để thêm một cặp khóa/giá trị hoặc thuộc tính vào đối tượng JavaScript.