簡體   English   中英

如何在javascript中更改數組對象的索引和值

[英]How to change index and value of array object in javascript

我有以下格式的 Javascript 對象,但我想將其轉換為另一種格式,如下所示:我已傳遞值形式 let data = $('#clientForm').serializeArray(); 原始格式

 let data = $('#clientForm').serializeArray();
 { name="addr_types",  value="RESID"}

想要的格式

 {addr_types:"RESID"}

或者其他格式

 {"addr_types":"RESID"}

在此處輸入圖片說明

假設一個有效的對象,您可以使用給定的鍵/值對分配想要的屬性。

 var source = { name: "addr_types", value: "RESID" }, target = {}; target[source.name] = source.value; console.log(target);

具有計算屬性的 ES6

 var source = { name: "addr_types", value: "RESID" }, target = { [source.name]: source.value }; console.log(target);

鑒於您的原始對象是正確的

 var original = { name: "addr_types", value: "RESID" }; console.log(original); var newName = original.name; var newValue = original.value; var newObject = {}; newObject[newName] = newValue; console.log(newObject);

您可以簡單地使用.map()函數來完成。 下面是例子。

var original = [{
  name: "addr_types",
  value: "Work"
},{
  name: "village",
  value: "Vang Tobang"
},{
  name: "commune",
  value: "Tang Krasang"
},{
  name: "destric",
  value: ""
},{
  name: "city",
  value: "Com Pong Thom"
},{
  name: "country",
  value: "combodia"
},
];

newArray = original.map(function(item){
             return {[item.name]: item.value}
           });

如果您的數據容器不是數組,那么您可以簡單地創建如下。

newArray = [original].map(function(item){
         return {[item.name]: item.value}
       });

這是jsfiddle鏈接: https : //jsfiddle.net/kzrngch6/

暫無
暫無

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

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