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