首页 > 解决方案 > How to customize when merge an array in Javascript

问题描述

i have put an item to array like this,

var items = [];
data['awal'].forEach(element => {
    items.push(element.order_date);
});

var items_2 = [];
data['akhir'].forEach(element => {
    items_2.push(element.order_date);
});

and want to merge that with the code like this,

var newArray = items.map((e, i) => e + items_2[i]);
console.log(newArray);

the result is like this,

["2018-11-05 11:22:352019-05-06 09:26:45", "2018-11-07 00:48:142019-05-07 11:02:33", "2018-11-08 13:12:072019-05-28 10:52:02", "2018-11-09 06:11:02undefined", "2018-11-10 06:48:14undefined", "2018-11-11 05:11:08undefined"]

But what if I want the mergain results like this

["05/11/2018#06/05/2019","07/11/2018#07/05/2019"] ...

and when is undefined automatically changes to 00/00/0000

How to do that in javascript?

标签: javascript

解决方案


因为我们都是印度尼西亚人。我会帮你给你一个解决方案。:)

items = ["2018-11-05 11:22:35", "2018-11-07 00:48:14", "2018-11-09 00:48:14"];
items_2 = ["2019-05-06 09:26:45", "2019-05-07 11:02:33"];
var newArray = items.map((item, i) => {
    let part1 = (item == undefined) ? '0000-00-00'.split("-"): item.split(" ")[0].split("-")
    let part2 = (items_2[i] == undefined) ? '000-00-00'.split("-") : items_2[i].split(" ")[0].split("-");
    let newDate1 = `${part1[2]}/${part1[1]}/${part1[0]}`;
    let newDate2 = `${part2[2]}/${part2[1]}/${part2[0]}`;
    return `${newDate1}#${newDate2}`;
});
console.log(newArray);


推荐阅读