Javascript中的矢量类 [英] A Vector Class in Javascript

查看:74
本文介绍了Javascript中的矢量类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试实现如下所示实例化的矢量对象...

I'm trying to implement a vector object instantiated like below...

var a = new Vector([1,2,3]);
var b = new Vector ([2,2,2]);

...当我做数学运算时,我需要这样的东西......

...and when I do a math operation I need something like this...

a.add(b); // should return Vector([4,6,8])

...但我的代码如下返回我只是一个数组

...but my code below returns me just an array

function Vector(components) {
  // TODO: Finish the Vector class.
  this.arr = components;
  this.add = add;
}

function add(aa) {
  if(this.arr.length === aa.arr.length) {
    var result=[];
    for(var i=0; i<this.arr.length; i++) {
       result.push(this.arr[i]+aa.arr[i]);
    }
    return result;
  } else {
    return error;
  }
}

请帮帮我。谢谢!

推荐答案

您需要将结果数组包装在新的 Vector object:

You need to wrap up your resulting array in a new Vector object:

function Vector(components) {
  // TODO: Finish the Vector class.
  this.arr = components;
  this.add = add;
}

function add(aa) {
  if(this.arr.length === aa.arr.length) {
    var result=[];
    for(var i=0; i<this.arr.length; i++) {
       result.push(this.arr[i]+aa.arr[i]);
    }
    return new Vector(result);
  } else {
    return error;
  }
}

我还应该注意你可能想要进一步阅读创建JavaScript对象,在 Vector add 方法) >对象。那里有很多很好的教程。

I should note also that you may want to do further reading on creating JavaScript objects, in the area of creating methods (such as your add method) on the prototype of the Vector object. There are many good tutorials out there.

这篇关于Javascript中的矢量类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆