我建立一個網頁,允許客戶更改信息,然後將其傳遞給管理團隊接受前驗證。我試圖保持表格動態,只傳遞客戶更改的信息。我使用下面的函數來創建對象的數組:用javascript改變對象數組中的鍵值?
$('input, textarea, select').change(function(){
var key = $(this).attr('name');
var obj = {};
obj[key] = $(this).val();
myArray.push(obj);
});
這是正常工作,但是今天我注意到,多次更改字段時,它創造了多個同名的對象。
我的問題是我怎麼才能找到動態的關鍵,並改變它的值,如果它存在於數組中?
我試着使用:
$.each(myArray, function(key, value) {
console.log(key, value);
});
但這輸出指標,然後將完整的對象,我需要找到對象的鍵,然後更改值,如果它已經存在。
推你必須檢查是否在myarray的存在對象之前。你可以使用Lodash的方法findIndex – yBrodsky
我發佈了一個答案,但我想我實際上不理解你的問題。你能發表一個你希望你的對象數組是什麼樣子的例子嗎? – Shaun