如何將此 arrayOfObjects 添加到來自 api 回應的資料中?
我嘗試了這種模式,但對我不起作用
const url = "https://jsonplaceholder.typicode.com/users";
useEffect(() => {
const arrayOfObjects = [
{num:1},
{num:2},
{num:3},
{num:4},
{num:5},
{num:6},
{num:7},
{num:8},
{num:9},
{num:10},
];
axios(url).then((res) => {
const newData = res.data.map((item) => (item.arrayOfObjects.map(innerItem => innerItem) = num));
console.log(newData);
});
}, []);
例如,盡管“https://jsonplaceholder.typicode.com/users”有 10 個物件,但回應資料中的結果應該如下所示
[
{
name: "Leanne Graham"
num: 1
etc.
},
{
name: "Ervin Howell"
num: 2
etc.
},
{ name: "Clementine Bauch"
num: 3
etc.
}
etc.
]
uj5u.com熱心網友回復:
這個問題對我來說不是很清楚。如果您嘗試做的是將來自 API 呼叫的資料與來自資料的資料組合arrayOfObjects到一個陣列中,然后將其映射到僅具有nameandnum屬性的物件陣列中,您可以執行以下操作:
axios.get(url)
.then((res) => {
const dataFromApi = res.data
// this creates a new array which combines the array from the API call with the array in your component's local state
const additionalData = [...dataFromApi, ...arrayOfObjects]
// this creates a new array from the combined array which only has `name` and `num`
const newData = additionalData.map(datum => ({
name: datum.name,
num: datum.num
}))
console.log(newData)
})
如果您只想在===num的 API 回應中添加一個,您可以這樣做:numid
axios.get(url)
.then(({ data }) => data.map(datum => ({
...datum,
num: datum.id
})))
uj5u.com熱心網友回復:
如果我正確理解您的問題,您想為 API 資料陣列中的每個物件添加屬性 num 。這應該這樣做:
useEffect(() => {
const arrayOfObjects = [
{ num: 1 },
{ num: 2 },
{ num: 3 },
{ num: 4 },
{ num: 5 },
{ num: 6 },
{ num: 7 },
{ num: 8 },
{ num: 9 },
{ num: 10 }
];
axios(url).then((res) => {
const newData = res.data.map((item, idx) => {
return { ...item, ...arrayOfObjects[idx] };
});
console.log(newData);
});
}, []);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/525317.html
