作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
碱基对是一对AT和CG。我正在尝试将缺少的元素与提供的字符进行匹配,并将结果作为二维数组返回。
当我使用下面的方法时,效果很好。
function pair(str) {
str.split("");
//convert the string into an array
var newArray = [];
for (var i = 0; i < str.length; i++){
var subArray = [];
switch (str[i]){
case "G":
subArray.push("G", "C");
break;
case "C":
subArray.push("C", "G");
break;
case "A":
subArray.push("A", "T");
break;
case "T":
subArray.push("T", "A");
break;
}
newArray.push(subArray);
}
return newArray;
}
pair("GCG");
//[["G", "C"], ["C", "G"], ["G", "C"]]
但是,当我尝试将方法从 push()
更改为 splice()
时,如下所示,它不起作用。
function pair(str) {
str.split("");
for (var i = 0; i < str.length; i++){
var subArray = [];
switch (str[i]){
case "G":
subArray.push("G", "C");
break;
case "C":
subArray.push("C", "G");
break;
case "A":
subArray.push("A", "T");
break;
case "T":
subArray.push("T", "A");
break;
}
str.splice(i, 1, subArray);
}
return str;
}
pair("GCG");
//ERROR:"str.splice is not a function"
一开始我以为这个方法失败的原因是我们不能将splice()
中的第三个参数设置为数组。所以我尝试了这个:
["G", "C", "G"].splice(0,1,["G","C"]) //["G"]
看起来可行。
谁能告诉我我哪里错了?
最佳答案
str.splice(i, 1, subArray);
str 是字符串。
数组的.splice()方法
检查你的逻辑(或者可能有拼写错误,应该有 subArray )
subArray.splice(i, 1, subArray);
关于JavaScript 错误 : "is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30908873/
我是一名优秀的程序员,十分优秀!