javascript - 如果在循环中找到多个键,如何获取它的值?

标签 javascript

var charCodes = {
    "a": ". _",
        "b": "_ . . .",
        "c": "_ . _ .",
        "d": "_ . .",
        "e": ".",
        "f": ". . _ .",
        "g": "_ _ .",
        "h": ". . . .",
        "i": ". .",
        "j": ". _ _ _",
        "k": "_ . _",
        "l": ". _ . .",
        "m": "_ _",
        "n": "_ .",
        "o": "_ _ _",
        "p": ". _ _ .",
        "q": "_ _ . _",
        "r": ". _ .",
        "s": ". . .",
        "t": "_",
        "u": ". . _",
        "v": ". . . _",
        "w": ". _ _",
        "x": "_ . . _",
        "y": "_ _ . .",
        "z": ". _ _ _ _"
};

var temp;
var abc = "abcdefghi";
for(i = 0; i < abc.length; i++) {
    var temp = abc[i].split(".");
    for(x = 0; x < charCodes.length; i++) {
        temp = charCodes[x];
    }
} 

console.log(temp);

我想将字符串 abc 转换为莫尔斯电码。 它仍然不适合我。 我已经分割了字符串,现在尝试将其与 charCodes 数组匹配,这样我就可以用莫尔斯电码获取字符串值 temp。

最佳答案

您可以使用 Function.prototype.call 而不是循环使用Array instance methods在绳子上。例如

Array.prototype.map.call('sos', function(c){ return charCodes[c]; }).join(' ');

关于javascript - 如果在循环中找到多个键,如何获取它的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31606111/

相关文章:

javascript - 更改 netbeans 中单个文件的语法突出显示

javascript - 需要帮助使用 JavaScript 删除整个 div "onClick"

javascript - jquery 窗口调整大小事件在初始加载时不起作用

php - 使用 javascript 从表单中删除 onsubmit 值

JavaScript localStorage 对象在 Windows 7 的 IE11 中损坏

javascript - TypeError (Jest Test) 为什么这个测试会失败?错误说函数不是函数

javascript - 如何使用 jquery 为 li 元素的 border-radius 设置动画?

javascript - 如果数组位于使用 map 方法的对象中,如何从数组中获取数据?

javascript - 我可以拥有一个 RequireJS 模块的多个实例吗?

javascript - 雅虎媒体播放器 - 不包括视频?