1

これは私が現在持っているコードです。発生している問題の 1 つは、関数スコープの外ではとが表示されないtest()ため、使用できないことです。アクセスできるようにするには、グローバル スコープでオブジェクトの配列をどのように宣言する必要がありますか?他の関数のこれらの2つの変数?presets[index].namevalue

var presets = [];
var index;

function CreatePresetArray(AMib, AVar) {
    var parentpresetStringOID = snmp.getOID(AMib, AVar);
    var presetStringOID = parentpresetStringOID;
    parentpresetStringOID = parentpresetStringOID.substring(0, parentpresetStringOID.length - 2);
    log.error("parentpresetStringOID is " + parentpresetStringOID);

    var presetswitches = {};

    for (var i = 1; i < 41; i++) {
        presets.push(presetswitches);
        try {
            log.error("presetStringOID before getNextVB= " + presetStringOID);
            vb = snmp.getNextVB(presetStringOID);
            presetStringOID = vb.oid;
            log.error("presetStringOID  after getnextVB= " + presetStringOID);

            var presetStringVal = snmp.get(presetStringOID);

            log.error("presetStringVal= " + presetStringVal);

            index = i - 1;

            presets[index].name = presetStringOID;
            presets[index].value = presetStringVal;
            log.error("preset array's OID at position [" + index + "]     is" + presets[index].name + " and the value stored is " + presets[index].value);

            //log.error("presets Array value ["+index+"] =     "+presets[index].configs);

            if (presetStringOID.indexOf(parentpresetStringOID) != 0) {
                break;
            }

        } catch (ie) {
            log.error("couldn't load preset array " + index);
        };
    };
}

CreatePresetArray(presetMib, "presetString");

function test() {
    for (i = 1; i < 41; i++) {
        log.error("test" + presets[index].name + "        " + presets[index].value);
    };
}
test();
4

2 に答える 2