Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写一个函数来接受10个字符的字母字符串,并以Javascript返回相应的电话号码字符串?_Javascript - Fatal编程技术网

如何编写一个函数来接受10个字符的字母字符串,并以Javascript返回相应的电话号码字符串?

如何编写一个函数来接受10个字符的字母字符串,并以Javascript返回相应的电话号码字符串?,javascript,Javascript,如何编写一个函数来接受10个字符的字母字符串,并在java脚本中返回相应的电话号码字符串?例如:string hello World应输出4355696753以下是规则:如果输入字母字符串不完全是10个字符,则函数应返回false。以下是将字符串转换为电话号码的数字到字母映射:2->AB C 3->D E F 4->G H I 5->J K L 6->M N O 7->P Q R S 8->T U V 9->W X Y Z好了,我忽略了长度计数的空格: function process(stri

如何编写一个函数来接受10个字符的字母字符串,并在java脚本中返回相应的电话号码字符串?例如:string hello World应输出4355696753以下是规则:如果输入字母字符串不完全是10个字符,则函数应返回false。以下是将字符串转换为电话号码的数字到字母映射:2->AB C 3->D E F 4->G H I 5->J K L 6->M N O 7->P Q R S 8->T U V 9->W X Y Z

好了,我忽略了长度计数的空格:

function process(string) {
    //split in letters
    let letters = string.split("");
    //clear spaces
    letters = letters.filter((letter) => {
        if (letter !== " ") {
            return letter;
        }
    });
    //the process
    if (letters.length === 10) {
        letters = letters.map((letter) => {
            if (
                letter === "a" ||
                letter === "A" ||
                letter === "b" ||
                letter === "B" ||
                letter === "c" ||
                letter === "C"
            ) {
                return "2";
            }

            if (
                letter === "d" ||
                letter === "D" ||
                letter === "e" ||
                letter === "E" ||
                letter === "f" ||
                letter === "F"
            ) {
                return "3";
            }

            if (
                letter === "g" ||
                letter === "G" ||
                letter === "h" ||
                letter === "H" ||
                letter === "i" ||
                letter === "I"
            ) {
                return "4";
            }

            if (
                letter === "j" ||
                letter === "J" ||
                letter === "k" ||
                letter === "K" ||
                letter === "l" ||
                letter === "L"
            ) {
                return "5";
            }

            if (
                letter === "m" ||
                letter === "M" ||
                letter === "n" ||
                letter === "N" ||
                letter === "o" ||
                letter === "O"
            ) {
                return "6";
            }

            if (
                letter === "p" ||
                letter === "P" ||
                letter === "q" ||
                letter === "Q" ||
                letter === "r" ||
                letter === "R" ||
                letter === "s" ||
                letter === "S"
            ) {
                return "7";
            }

            if (
                letter === "t" ||
                letter === "T" ||
                letter === "u" ||
                letter === "U" ||
                letter === "v" ||
                letter === "V"
            ) {
                return "8";
            }

            if (
                letter === "w" ||
                letter === "W" ||
                letter === "x" ||
                letter === "X" ||
                letter === "y" ||
                letter === "Y" ||
                letter === "z" ||
                letter === "Z"
            ) {
                return "9";
            }
        });
        //output
        return letters.join("");
    } else return false;
}

console.log(process("is this a ten"));

这太神奇了。工作起来很有魅力。非常感谢。没问题,字符串有时会很棘手,我使用数组来实现它,因为范围非常清楚。