javascript - 如何访问这个对象?它不断返回一串未定义的

标签 javascript

在这个套路中,你需要给定一个字符串,用它在字母表中的位置替换每个字母。

如果文本中的任何内容不是字母,请忽略它并且不要返回它。

“a”= 1,“b”= 2,等等

例子

alphabet_position("The sunset sets at twelve o' clock.")

应该返回 "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11"(作为字符串)

如何访问这个对象?它不断返回一个未定义的字符串。

function alphabetPosition(text) {
  var alphabet = {
    a: 1,
    b: 2,
    c: 3,
    d: 4,
    e: 5,
    f: 6,
    g: 7,
    h: 8,
    i: 9,
    j: 10,
    k: 11,
    l: 12,
    m: 13,
    n: 14,
    o: 15,
    p: 16,
    q: 17,
    r: 18,
    s: 19,
    t: 20,
    u: 21,
    v: 22,
    w: 23,
    x: 24,
    y: 25,
    z: 26
  }
  var number = 0;
  var string = "";
  var letter = "";

  for (i = 0; i < text.length; i++) {
    letter = text.charAt(i);
    number = alphabet.letter;
    string += number + " ";

  }
  return string;
}

var res = alphabetPosition("The sunset sets at twelve o' clock.");

console.log(res, res === "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11");

最佳答案

尝试跟随

  • alphabet.letter 应该是 alphabet[letter.toLowerCase()] - 忽略大小写
  • 对于空格和其他字符,检查 if(number)

function alphabetPosition(text) {
    var alphabet = {a: 1,b: 2,c: 3,d: 4,e: 5,f: 6,g: 7,h: 8,i: 9,j: 10,k: 11,l: 12,m: 13,n: 14,o: 15,p: 16,q: 17,r: 18,s: 19,t: 20,u: 21,v: 22,w: 23,x: 24,y: 25,z: 26};
    var number = 0;
    var string = "";
    var letter ="";

    for (i=0; i<text.length; i++) {
      letter = text.charAt(i);
      number = alphabet[letter.toLowerCase()];
      if(number) string += number + " "; 

    }
    return string;
}
console.log(alphabetPosition("The sunset sets at twelve o' clock."));

关于javascript - 如何访问这个对象?它不断返回一串未定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53281710/

相关文章:

javascript - 未从 JSON 加载网格数据

javascript - Ionic2 在 Provider 中使用 Ionic Storage

javascript - 使用箭头键将单击事件设置为容器中的下一个选项卡

javascript - Jquerymobile过滤器 ListView 在动态获取数据时不起作用

javascript - 如何给 AngularJS Popup 上课

javascript - 用于在选择时更改底部边框颜色的 anchor 标记

javascript - 执行mysql查询后刷新图表(javascript)

javascript - 如何向 Three.js 场景添加 2D 实时动态文本?

javascript - 复制并获取第一级元素

javascript - 滚动控制页面内容