Skip to content

習題 3 -- JavaScript 物件導向 #6

Description

@ccckmit

請寫出一個具有『加、減、內積、負』的向量物件? (Vector, add, sub, dot, neg)

提示:架構如下:

class Vector {
  constructor(array) {
    this.a = array
  }
  add(y) {
    var r = []
    var x = this
    for (var i=0; i<x.a.length; i++) {
      r[i] = x.a[i]+y.a[i]
    }
    return new Vector(r)
  }
}

var x = new Vector([1,2,3])
var y = new Vector([1,1,1])
console.log('x.add(y)=', x.add(y)) // Vector { a: [ 2, 3, 4 ] }
console.log('x.add(y).add(y).add(x)=', x.add(y).add(y).add(x)) // Vector { a: [ 4, 6, 8 ] }
// x.dot(y) 應該是 6
// x.neg() 應該是 Vector([-1,-2,-3])
// x.sub(y) 應該是 Vector([0,1,2])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions