簡體   English   中英

使用javascript更改對象數組中的鍵值?

[英]Change key's value in array of objects with 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是一個數組而不是一個對象,所以key只是數組中對象的索引。

要檢查具有特定鍵的對象是否存在,

function getObjWithKey(myArray, key){
   var retVal;
   $.each(myArray, function(index, obj) {
       if(key != undefined && obj[key]){
           retVal = obj;
           return false;
       }
   });
   return retVal;        
}

暫無
暫無

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

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