Computer >> Hướng Dẫn 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ả dòng tiền như sau:

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

Cần viết hàm nhận hai mảng như vậy. Hàm sẽ xây dựng mảng đối tượng kết hợp chứa đối tượng cho mỗi tháng và giá trị dòng tiền của tháng đó.

Với mảng trên, đầu ra sẽ trông như:

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

Ví dụ

Mã thực hiện như sau:

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

Kết quả

Kết quả trong console sẽ là:

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