所以这应该做的是,减去 mouseenter/mouseleave 函数,是接受用户输入,将其分成一个数组,每个数组放置 3 个字母(例如,用户输入 abcdef... 将变成abc、def、...)。我阅读了另一篇关于堆栈溢出的文章,( How do you split a string at certain character numbers in javascript? )。但是,我无法在下面的代码中完全发挥作用。
这是我的 script.js:
$(document).ready(function() {
$('#button_translate').mouseenter(function() {
$('#button_translate').fadeTo('fast', 1);
});
$('#button_translate').mouseleave(function() {
$('#button_translate').fadeTo('fast', 0.7);
});
$('#button_clear').mouseenter(function() {
$('#button_clear').fadeTo('fast', 1);
});
$('#button_clear').mouseleave(function() {
$('#button_clear').fadeTo('fast', 0.7);
});
$('#button_translate').click(function() {
var dna = $('input[name=dna]').val();
var dna = dna.toUpperCase();
function allBases(text) {
var bases = /^[ACGT]+$/;
if(text.match(bases)) {
var arr = Array.prototype.slice.call(dna), output = [];
while (arr.length) output.push(arr.splice(0, 3).join('');
document.write(arr + " is a DNA sequence.");
}
else
{
document.write(dna + " is not a real DNA sequence.");
}
}
allBases(dna);
});
});
最佳答案
我认为这篇文章可能会有所帮助:
Split string into array of equal length strings
将它应用到您的代码中,您可以替换:
var arr = Array.prototype.slice.call(dna), output = [];
while (arr.length) output.push(arr.splice(0, 3).join('');
与:
var arr = text.match(/.{1,3}/g);
关于javascript - 如何将变量分成 3 个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18176894/