首页 > 解决方案 > 映射对象中的减法问题

问题描述

控制台记录我的减法时,我得到一个未定义的数字。

如果总统从 2010 年到 2014 年任职,我正​​在绘制总统的任期年数,我应该得到 4 的结果。

我尝试拆分对象并减去索引 0 和 1 并返回两者之间的差异。

let president = {
  "id": 44,
  "president": 44,
  "nm": "Barack Obama",
  "pp": "Democrat",
  "tm": "2009-2017"
}

let presidentFullName = president.nm.split(" ");
presidentYears = president.tm.split(" ");

myPresidents = {
  id: president.id,
  number: president.president,
  firstName: presidentFullName[0],
  lastName: presidentFullName[1],
  party: president.pp,
  yearsInOffice: presidentYears[0-1]
}

console.log(myPresidents);

我目前在“yearsInOffice”的console.log下得到一个未定义的

标签: javascripthtmlfiltermapping

解决方案


中的年份tm是由一个-而不是一个空格分隔的。你需要在-

presidentYears = president.tm.split("-");

然后你需要从返回的数组中减去 2 个值

yearsInOffice: presidentYears[1] - presidentYears[0]

presidentYears[0-1]正在尝试从数组中获取-1索引并且它是未定义的presidentYears


推荐阅读