首页 > 解决方案 > 从数组中抓取对象后使用对象的功能

问题描述

当我尝试从数组中获取对象时,类型未定义。因此我不能使用未定义对象中的方法,因为它不存在。我对 JavaScript 比较陌生,而且我直接来自 Java,所以检索对象的方式对我来说有点新。这是我目前拥有的。

var fleetAmount = 0;
var fleets = [];
function Fleet(number) {
    this.number = number;
    this.activities = [];
    this.addActivity = function (activity) {
        this.activities.push(activity);
    };
    fleets.push(this);
}
var getFleet = function(fleetNumber) {
    return fleets[fleetAmount - fleetNumber];
}

这是我尝试抓取对象并执行功能的地方

const Fl = require(‘fleet.js’);
const fleet = Fl.getFleet(fleetNumber);
fleet.addActivity(activity);

我也在使用 Node.js,这就是我使用 require 方法的方式。

标签: javascript

解决方案


结合@audzzy 的答案,我更改了 getFleet() 函数,以便它更有效。我测试了它并且它工作。这是我用的

    function getFleet(fleetNumber) {
        let result = fleets.filter(function (e) {
            return e.number = fleetNumber;
        })
        return result[0];
    }

谢谢您的帮助!我很感激。


推荐阅读