如何分割数据以仅获取特定部分-JavaScript

如何分割数据以仅获取特定部分-JavaScript,javascript,reactjs,Javascript,Reactjs,如何从以下代码中拆分数据以获得类似于2018-07-17: getCompanyHolydayLeave() { this.props.actions.getCompanyLeaveDetails().then(() => { if (!this.props.common.getCompanyLeaveDetailsPending) { const poyaArray= this.props.common.companyLeave var result =

如何从以下代码中拆分数据以获得类似于
2018-07-17

getCompanyHolydayLeave() {
  this.props.actions.getCompanyLeaveDetails().then(() => {
    if (!this.props.common.getCompanyLeaveDetailsPending) {
     const poyaArray= this.props.common.companyLeave 
     var result = poyaArray.map((poyaArray) => poyaArray.date )
     var  xData= result.toString().split("T")

     this.setState({ companyLeave:xData });  
     }
  });
}
我的输出
xdata
如下所示

0: "2018-04-29"

1: "18:30:00.000Z,2018-05-06"
​
2: "18:30:00.000Z,2018-05-28"
​
3: "18:30:00.000Z,2018-06-26"
我需要这样:

0: "2018-04-29"

1: "2018-05-06"

我该怎么做呢?

你可以很容易地在昏迷状态下(,)分裂。之后,您需要在日期应用格式。以下是代码:

var x="18:30:00.000Z,2018-05-06";
var t=x.split(',') // it will give you array
new Date(t[1])

在下面,您可以应用日期格式化程序

假设您拥有扩展数据中的值。 只需迭代扩展数据中的每个值,然后执行以下操作:

扩展数据[i]=xData.split[i](“,”)[1]

您将在
xData
变量中保存更改后的数据

或者,如果你想让它更清晰一点,你可以:

var temp = xData.split[i](",");
xData[i] = temp[1];

使用Date类,可以创建如下所示的dateformat:

let date = new Date("18:30:00.000Z,2018-05-06");
let dateString = date.toISOString().split("T")[0];

Date类的构造函数使用Date类构造函数理解所有0-4个输入示例。使用ISO标准日期时间格式的日期部分构造输出。

您可以使用
map()
格式化
xData

var扩展数据=[“2018-04-29”,
“2018-05-06 18:30:00.000Z”,
“2018年5月28日18:30:00.000Z”,
“2018年6月26日18:30:00.000Z”;
xData=xData.map(d=>d.split(',')[d.split(',').length-1]);

console.log(扩展数据)这是如何将字符串
2018-07-17T09:03:08.819Z
转换为日期的方法

var fromDate=新日期(“2018-07-17T09:03:08.819Z”);
var formattedDate=fromDate.getFullYear()+“-”+(fromDate.getMonth()+1)+“-”+fromDate.getDate();
console.log(格式化日期)您可以使用
日期
来完成此操作!
输入日期格式的更改不会影响输出格式



例子:
var-dateArray=[“2018-04-29”,“18:30:00.000Z,2018-05-06”,“18:30:00.000Z,2018-05-28”,“18:30:00.000Z,2018-06-26”]
函数convertDate(dateStr){
var_tmp=新日期(dateStr);
返回_tmp.toISOString().split(“T”)[0];
}
var newDateArray=dateArray.map(x=>convertDate(x));

log(newDateArray)在字符串中查找逗号,并在其前面修剪所有内容,包括comma@ShubhamAgarwalBhewanewala你能展示一下吗code@Gnanaseelan你在找格式化日期吗@Hyanabofakher不…我喜欢这个2018-07-17T09:03:08.819Z“在阵列的侧面。我要分身去2018-07-17this@Gnanaseelan,因此您可以使用formatter将字符串转换为日期对象。此输出仅与2018-07-17类似?我刚刚调整了答案以完全满足您的需要,只需少量代码:)@Gnanaseelan,这无法将字符串从
2018-07-17T09:03:08.819Z
转换为
2018-07-17
。你确定你的问题吗?@Mamun我现在得到了这样的(2018-07-17)格式数组。现在我需要如何在我的扩展数据输出数组下面添加一天的数组对象日期​0: "2018-04-29" 1: "2018-05-06" ​ 2: "2018-05-28" ​ 3: "2018-06-26" ​ 4: "2018-07-15" ​ 5: "2018-07-16" ​ 6: "2018-07-26" ​ 7:“2018-09-23”@Gnanaseelan,像这样在JavaScript中操纵日期是相当困难的。尽管您可以尝试
map()
通过在适当的索引处拆分和修改来修改字符串日期…这同样不是一个要完成的较小任务…………谢谢。
function convertDate(dateStr){
     var _tmp = new Date(dateStr);
     return _tmp.toISOString().split("T")[0];
}