首页 > 解决方案 > javascript获取第二个索引相同的数字

问题描述

!PS:我只需要这个回复不要完成挑战!

你好,我有一个任务:给你 num(最多 15 位,从不小于 0)。

如果 num 的长度是偶数,则根据它们在给定数字中的位置,将奇数作为整数返回,偶数作为字符串返回。字符串在类型情况下交替:从小写到大写,依此类推。如果 num 的长度是奇数,则所有规则都相反。请参阅样本测试。

我做了什么:

function conv(num) {
  var numbers = {
    0: "zero",
    1: "one",
    2: "two",
    3: "three",
    4: "four",
    5: "five",
    6: "six",
    7: "seven",
    8: "eight",
    9: "nine"
  }
  var final_arr = [];
  var lengt = num.toString();
  if (lengt.length % 2 === 0) {
    var spl = lengt.split("");
    for (var i in spl) {
      if (Number(spl[i]) % 2 === 1) {
        final_arr.push(Number(spl[i]));
      } else if (Number(spl[i]) % 2 === 0) {
        var the_index = spl.indexOf(spl[i]) + 1;
        var conv = numbers[spl[i]].split("").splice(0,
          the_index).join("");
        final_arr.push(conv);
      }
    }
  }
  return final_arr.join("");
}
console.log(conv(47309534));

结果是f73zero953f 期望:f73zero953four;

当我console.log(),我看到我有一个问题,因为第二个4获取索引0也是,这就是为什么我只得到f,如何获取第二个4索引(7)。

!PS:我只需要这个回复不要完成挑战!

标签: javascript

解决方案


推荐阅读