簡體   English   中英

如何將 object /array 分配給另一個 object?

[英]How to assign an object /array to another object?

我正在研究一個 function ,它包含這樣的列表:

const payload = [
    [1, 2],
    [1,2,3],
    {
        name: 'sandra',
        age: 20,
        email: 'sandra@xyz.com'
    }
]

並像這樣返回 object:

{
  name: 'return payload',
  response: [ 
    { arr: [1, 2] }, 
    { arr: [1, 2, 3] }, 
    { arr: {
      name: 'sandra',
      age: 20,
      email: 'sandra@xyz.com'
    }
  ]
}

這是我擁有的 function:

const returnPayload = (arr) => {
  let response = [];
    for(let i = 0; i < arr.length; i++) {
      response.push({arr: arr[i]})
    }
    return {"name": "return payload", "response": response}
}

returnPayload(payload);
console.log(returnPayload(payload))

這就是它當前返回的內容:

{
  name: 'return payload',
  response: [ { arr: [Array] }, { arr: [Array] }, { arr: [Object] } ]
}

我已經在線檢查了幾個解決方案,建議將返回的 object 傳遞給JSON.stringify(obj) ,但我正在尋找一個更簡潔、更易於閱讀的替代方案。 JSON 方法返回此:

{"name":"return payload","response":[{"arr":[1,2]},{"arr":[1,2,3]},{"arr":{"name":"sandra","age":20,"email":"sandra@xyz.com"}}]}

請原諒標題,我不確定如何描述這個問題。

聽起來您只需要 map 數組並返回包含回調中每個項目的 object :

 const payload = [ [1, 2], [1,2,3], { name: 'sandra', age: 20, email: 'sandra@xyz.com' } ]; const result = { name: 'return payload', response: payload.map(item => ({ arr: item })) }; console.log(result);

(但arr屬性不一定是數組,正如您在第三項中看到的那樣 - 考慮一個更具信息性的屬性名稱,也許?)

如果“易於閱讀”是指如何查看結果,則可以繼續使用JSON.stringify()但添加一個額外的間距參數。

 const payload = [ [1, 2], [1,2,3], { name: 'sandra', age: 20, email: 'sandra@xyz.com' } ] const returnPayload = (arr) => { let response = []; for(let i = 0; i < arr.length; i++) { response.push({arr: arr[i]}) } return {"name": "return payload", "response": response} } returnPayload(payload); console.log(JSON.stringify(returnPayload(payload), null, 3))

暫無
暫無

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

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