[英]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.