簡體   English   中英

Vue.js - 使用鍵和值將對象轉換為對象數組

[英]Vue.js - Convert objects to Array of Objects with a key and value

如何將此對象格式化為對象數組

const failed = { 
  "4579043642": "Lodge with set number '4579043642' exists!",
  "4579043641": "Lodge with set number '4579043641' exists!",
  "4579043640": "Lodge with set number '4579043640' exists!",
}

到這個預期的輸出

[
  {
    "fieldName": "4579043642",
    "message": "set number '4579043642' exists!"
  },
  {
    "fieldName": "4579043641",
    "message": "set number '4579043641' exists!"
  },
  {
    "fieldName": "4579043640",
    "message": "set number '4579043640' exists!"
  }
]
data() {
  return {
    formattedList: [],
  };
},

我曾嘗試使用這種格式進行轉換;

 uploadFeedbackReject: { handler: function(newFeed) { if (failed) { this.formattedList = [response.failed]; } }, immediate: true, deep: true, },

我需要幫助。

謝謝。

循環遍歷對象字段並推送一個對象,當前屬性為字段名,值為消息屬性:

 const formerList = { "4579043642": "Lodge with set number '4579043642' exists!", "4579043641": "Lodge with set number '4579043641' exists!", "4579043640": "Lodge with set number '4579043640' exists!", } let a = [] for (f in formerList) { a.push({ fieldName: f, message: formerList[f] }) } console.log(a)

或映射對象字段:

 const formerList = { "4579043642": "Lodge with set number '4579043642' exists!", "4579043641": "Lodge with set number '4579043641' exists!", "4579043640": "Lodge with set number '4579043640' exists!", } let a = [] a = Object.keys(formerList).map((field) => { return { fieldName: field, message: formerList[field] } }) console.log(a)

這很好用

const failed = {
  4579043642: "Lodge with set number '4579043642' exists!",
  4579043641: "Lodge with set number '4579043641' exists!",
  4579043640: "Lodge with set number '4579043640' exists!",
};

const arrayFailed = Object.entries(failed).map((arr) => ({
  fieldName: arr[0],
  message: arr[1],
}));

console.log(arrayFailed);

您可以使用 Object.keys() 遍歷對象並獲取值和名稱,推入一個對象,然后推入數組。

let obj = {
  alice: "asdf",
  bob: 3,
  charles: 98.67
}

let arr = [];

for(let i=0; i<Object.keys(obj).length; i++){

  // Get the name and value of the old object
  let name = Object.keys(obj)[i];
  let value = obj[name];
  
  // Create the new object
  let newObj = {
    fieldName: name,
    message: value
  }

  // Push the new object into the array of objects
  arr.push(newObj);
}

暫無
暫無

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

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