簡體   English   中英

如何在不過度使用數組中已有內容的情況下將新項目添加到javascript數組

[英]How to add new items to javascript array without over riding what is already inside the array

在此處輸入圖片說明 我聲明了這兩個數組

var newUnitsToGenerateObj = [];
    var newUnitsToGenerate = {
        UnitTypeID: null,
        NumOfUnits: 0
    };

在我的UI中,我希望用戶選擇unitype,然后將其傳遞給newunitstogenerate,然后將其傳遞給newunitstogenerateobj,我認為這樣會很簡單

   function AddUnitsToConfig() {
        newUnitsToGenerate.UnitTypeID = $('#UnitTypeID').ejDropDownList('model.value');
        newUnitsToGenerate.NumOfUnits = $('#NumOfUnits').val();

        newUnitsToGenerateObj.push(newUnitsToGenerate);

        console.log(newUnitsToGenerateObj);
    }

因此,此函數會在單擊按鈕時按預期插入第一個值,但如果第二次單擊具有新值,則它將覆蓋具有新數據的數組中的值,因此我的長度為預期的2,但它們相同價值觀。 我想建立newunitstogenerateobj,然后將其傳遞給服務器。

你突變newUnitsToGenerate每次通話時間AddUnitsToConfig 您希望通過每次調用將一個對象推入數組:

function AddUnitsToConfig() {
    newUnitsToGenerateObj.push({
        UnitTypeID: $('#UnitTypeID').ejDropDownList('model.value');
        NumOfUnits: $('#NumOfUnits').val();
    });

    console.log(newUnitsToGenerateObj);
}

聲明一個空的json。 在函數內部

var newUnitsToGenerateObj = [];


function AddUnitsToConfig() {
    var newUnitsToGenerate = {};
    newUnitsToGenerate['UnitTypeID'] = $('#UnitTypeID').ejDropDownList('model.value');
    newUnitsToGenerate['NumOfUnits'] = $('#NumOfUnits').val();

    newUnitsToGenerateObj.push(newUnitsToGenerate);

    console.log(newUnitsToGenerateObj);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM