【问题标题】:Adding military times to object将军事时间添加到对象
【发布时间】:2019-12-27 02:09:21
【问题描述】:

我需要将对象中的单词转换为一系列重复记录,其中对象中的值被替换为从早上 7 点开始到晚上 7 点结束的每小时军事格式时间触发器(无冒号)。我还想为每个连续的对象增加一分钟的时间。保留其他列中的所有其他值(只需重复它们),因此唯一改变的值是时间。

因此,persons 对象 (John Doe) 中的 ANYTIME 值如下所示:

• 0700 • 0800 • 0900 • 1000 • 1100 • 1200 • 1300 • 1400 • 1500 • 1600 • 1700 • 1800 • 1900

const person = [{
    name: "John Doe",
    address: "1234 Driven St",
    id: "DF11111",
    time: "ANYTIME"
  },
  {
    name: "Jane Doe",
    address: "555 Crank St",
    id: "HA22222",
    time: "ANYTIME"
  }
];

function array1() {
  var milTime = [700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900];

  if (person.time == "ANYTIME") {
    for (var e = 0; e < milTime.length; e++) {
      var newArray = milTime[e] + 1;
    }
  }
}

array1();

【问题讨论】:

  • var newArray = milTime[e] + 1; ????不知道你在期待什么,代码运行完成后的最终结果是什么?

标签: javascript arrays function


【解决方案1】:

   const persons = [{
        name: "John Doe",
        address: "1234 Driven St",
        id: "DF11111",
        time: "ANYTIME"
      },
      {
        name: "Jane Doe",
        address: "555 Crank St",
        id: "HA22222",
        time: "ANYTIME"
      }
    ];
    let increment = 1;
    function setTime() {
      var milTime = [700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900];
      persons.forEach(person => {
      if (person.time == "ANYTIME") {
        person.time = []
        milTime.forEach(time => {
          person.time.push(("0" + (time + increment)).substr(-4))
        })
      }
      increment++;
      })
    }

    setTime();
    console.log(persons)

【讨论】:

    【解决方案2】:

    试试

    function array1(person) {
      var milTime = [700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900]
                    .map(x=>(x+1+'').padStart(4,'0'));
    
      person.forEach(p => p.time = p.time=="ANYTIME" ? milTime.join` • ` : p.time )
    }
    

    const person = [{
        name: "John Doe",
        address: "1234 Driven St",
        id: "DF11111",
        time: "ANYTIME"
      },
      {
        name: "Jane Doe",
        address: "555 Crank St",
        id: "HA22222",
        time: "ANYTIME"
      }
    ];
    
    function array1(person) {
      var milTime = [700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900]
                    .map(x=>(x+1+'').padStart(4,'0'));
    
      person.forEach(p => p.time = p.time=="ANYTIME" ? milTime.join` • ` : p.time )
    }
    
    array1(person);
    
    console.log(person);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 2017-09-04
      • 2020-11-12
      • 2016-03-06
      • 2011-10-19
      • 2020-12-09
      • 1970-01-01
      相关资源
      最近更新 更多