gpt4 book ai didi

JavaScript 错误 : "is not a function"

转载 作者:行者123 更新时间:2023-11-28 19:09:51 25 4
gpt4 key购买 nike

碱基对是一对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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com