javascript - 将值传递给 JavaScript 中的函数

标签 javascript

不知道为什么下面的代码不起作用。它应该接受一个字符串并将 G 转换为 C,将 A 转换为 T,反之亦然。然而,它收集输入字符串但不提供任何输出,即警报只是说“这是你的反向互补 DNA”

var dnaSequence = prompt("Enter your DNA sequence here", "");
var newSequence = reverseComplement(dnaSequence);
alert("here is your reverse complemented DNA: " + newSequence);

function reverseComplement(dnaString) {

    var reverseC = [];
    var dnaArr = dnaString.split('');

    for (var i = 0; i < dnaArr.length; i++) {

        switch (dnaArr[i]) {
            case 'A':
                reverseC.push('T');
                break;
            case 'T':
                reverseC.push('A');
                break;
            case 'C':
                reverseC.push('G');
                break;
            case 'G':
                reverseC.push('C');
                break;
        }
    }

    // Reverse and rejoin the the string    
    return reverseC.reverse().join('');
}

最佳答案

It should take in a string and convert a G to a C and an A to a T and vice versa.

那么你就不需要reverse(),因为你是按顺序推送的。

此外,请确保您在提示中输入大写字母。 否则,您可以强制使用大写。

这是包含两个修复的代码:

function reverseComplement(dnaString) {

    var reverseC = [];
    var dnaArr = dnaString.toUpperCase().split('');

    for (var i = 0; i < dnaArr.length; i++) {

        switch (dnaArr[i]) {
            case 'A':
                reverseC.push('T');
              break;
            case 'T':
                reverseC.push('A');
                break;
            case 'C':
                reverseC.push('G');
                break;
            case 'G':
                reverseC.push('C');
                break;
        }
    }

    // Reverse and rejoin the the string    
    return reverseC.join('');
}

var dnaSequence = prompt("Enter your DNA sequence here", "");
var newSequence = reverseComplement(dnaSequence);
alert("here is your reverse complemented DNA: " + newSequence);

关于javascript - 将值传递给 JavaScript 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372079/

相关文章:

javascript - transitionEnterTimeout/transitionLeaveTimeout 在 React 中实际上做了什么?

javascript - Ember - 处理 View 外的点击

javascript - 在 JavaScript 中将字节大小转换为 KB、MB、GB 的正确方法

JavaScript/HTML - 新的音频 JavaScript 在 IE 8 及以下版本中失败?

javascript - Jquery 验证不起作用返回有效结果

javascript - 如何在 Phonegap 中发布表单?

javascript - 两个 div FadeIn 和 FadeOut 同时在彼此之上

javascript - 在blur()中如何确定哪个元素获得焦点?

php - 在 .js 页面中包含 Jquery 脚本

javascript - 为什么 JSON.stringify() 替换函数不起作用?