Computer >> Máy Tính >  >> Lập trình >> Javascript

Thao tác dữ liệu với JavaScript

Giả sử chúng ta có hai mảng mô tả một số dòng tiền như thế này -

const months = ["jan", "feb", "mar", "apr"];
const cashflows = [
   {'month':'jan', 'value':10},
   {'month':'mar', 'value':20}
];

Chúng tôi được yêu cầu viết một hàm JavaScript có hai mảng như vậy. Khi đó, hàm của chúng ta sẽ tạo ra một mảng kết hợp các đối tượng có chứa một đối tượng cho mỗi tháng và giá trị của dòng tiền cho tháng đó.

Do đó, đối với mảng trên, đầu ra sẽ giống như -

const output = [
   {'month':'jan', 'value':10},
   {'month':'feb', 'value':''},
   {'month':'mar', 'value':20},
   {'month':'apr', 'value':''}
];

Ví dụ

Mã cho điều này sẽ là -

const months = ["jan", "feb", "mar", "apr"];
const cashflows = [
   {'month':'jan', 'value':10},
   {'month':'mar', 'value':20}
];
const combineArrays = (months = [], cashflows = []) => {
   let res = [];
   res = months.map(function(month) {
      return this[month] || { month: month, value: '' };
   }, cashflows.reduce((acc, val) => {
      acc[val.month] = val;
      return acc;
   }, Object.create(null)));
   return res;
};
console.log(combineArrays(months, cashflows));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[
   { month: 'jan', value: 10 },
   { month: 'feb', value: '' },
   { month: 'mar', value: 20 },
   { month: 'apr', value: '' }
]