Skip to content

小问题 #2

@widwei

Description

@widwei
源代码如下:

uniqueAxes(axes: Axis[]): Axis[] {
    let axisVector: Vector,
        tmpAxes: Axis[] = [],
        axesTable = {},
        i, gradient;

    for (i = 0; i < axes.length; i++) {
        axisVector = axes[i].value;
        gradient = (axisVector.y === 0) ? Infinity : (axisVector.x / axisVector.y);
        
        // 限制精度
        gradient = gradient.toFixed(3).toString();
        axesTable[gradient] = axes[i];
    }

    Object.keys(axesTable).map(item => {
        tmpAxes.push(axesTable[item]);
    });

    return tmpAxes;
},

可修改如下,少了几次没有意义的循环
uniqueAxes(axes: Axis[]): Axis[] {
let axisVector: Vector,
tmpAxes: Axis[] = [],
axesTable = {},
i, gradient;

    for (i = 0; i < axes.length; i++) {
        axisVector = axes[i].value;
        gradient = (axisVector.y === 0) ? Infinity : (axisVector.x / axisVector.y);
        
        // 限制精度
        gradient = gradient.toFixed(3).toString();
        axesTable[gradient] = axes[i];
       tmpAxes.push(axes[i]);
    }
    return tmpAxes;
},

源代码

rotate(radian: number) {
    // 旋转顶点
    Vertices.rotate(this.vertexList, radian, this.rotateCenter);

    _tempVector4.x = this.rotateCenter.x - this.position.x;
    _tempVector4.y = this.rotateCenter.y - this.position.y;

    _tempVector4.x = 0;
    _tempVector4.y = 0;

    // 转动轴
    for(let i = 0; i < this.axes.length; i++) {
        this.axes[i] && this.axes[i].value.rot(radian, _tempVector4, this.axes[i].value);
    }

    // 更新包围盒
    this.bound.update(this.vertexList);
}

_tempVector4.x 出现了无意义赋值

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions