此逻辑尝试仅从SubmitDate获取日期

例如:

2011-03-22 17:25:13会返回2011-03-22

如果SubmitDate属性不存在或不能.split,则它应返回null。

function getDateOnly(record) {
  if (typeof record.SubmitDate !== "undefined") {
    return (record.SubmitDate.split(" ")[0])? record.SubmitDate.split(" ")[0] : null;
  }

  return null;
}


例如

console.log(getDate({ SubmitDate: "2011-03-22 17:25:13" }));


会返回2011-03-22

我在尝试时遇到问题:

console.log(getDate({ SubmitDate: null }));


这将引发错误:


  无法读取null的属性“ split”


您将如何解决此问题或重构逻辑?

最佳答案

您可以使用&&

  return record.SubmitDate && record.SubmitDate.split(" ")[0]
           ? record.SubmitDate.split(" ")[0]
           : null;


如果record.SubmitDate评估为假,则将不检查和评估&&之后的下一部分,即record.SubmitDate.split(" ")[0] =)

09-19 18:11