gpt4 book ai didi

javascript - 类型错误:a.dot(...).equals 不是函数

转载 作者:行者123 更新时间:2023-11-27 23:36:52 27 4
gpt4 key购买 nike

在下面的代码中,有 3 个方法:add、dot 和 equals。 add 和 dot 方法计算两个向量的加法和点积。 equals 方法检查 add 和 dot 方法的返回值是否与传递给 equals 方法的参数匹配。

如果我尝试在 dot 方法上调用 equals 方法,则会收到错误 TypeError: a.dot(...).equals is not a function。我做错了什么以及如何让它发挥作用?当我在 add 方法上调用 equals 方法时没有错误。

function Vector(vector){

this.vector=vector;
}

//add method
Vector.prototype.add= function(b){
var res=[];
var vec1 =this["vector"];
var vec2 = b["vector"];
for (i=0; i<vec1.length; i++){
res.push(vec1[i]+vec2[i]);
}
var result = new Vector(res);
return result;
};
//dot product method
Vector.prototype.dot= function(b){
var res=0;
var vec1 =this["vector"];
var vec2 = b["vector"];
for (i=0; i<vec1.length; i++){
res+=vec1[i]*vec2[i];
}
return res;
};
//equals method
Vector.prototype.equals = function(answer){
if (this.toString()===answer.toString()){
return true;
} else {
console.log(this);
return false;
}
};
//test
var a = new Vector([1,2]);
var b = new Vector([3,4]);
a.add(b).equals(new Vector([4,6]));
a.dot(b).equals(11);

最佳答案

dot 方法返回一个 Number,而不是 Vector。尝试使用 == 而不是 equals

关于javascript - 类型错误:a.dot(...).equals 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34066071/

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