4 回答

TA貢獻(xiàn)1871條經(jīng)驗 獲得超8個贊
您可以使用 Array.prototype.map() 函數(shù)。
其作用基本上是為每個元素調(diào)用當(dāng)前數(shù)組上的回調(diào) fn ,并根據(jù)您在回調(diào) fn 中編寫的代碼返回一個新數(shù)組。我在下面的代碼中所做的只是從原始數(shù)組中檢索每個對象的“名稱”屬性,并將這些名稱作為新數(shù)組返回。
然后循環(huán)名稱數(shù)組并附加到您的 api URL。我已經(jīng)在下面的代碼片段中完成了這兩件事,您可以嘗試運行它以更好地理解它。
const arr = [
? {
? ? id: 8,
? ? isSelected: true,
? ? name: 'leite condensado',
? },
? {
? ? id: 9,
? ? isSelected: true,
? ? name: 'creme de leite',
? },
];
const nameArr = arr.map(obj => obj.name);
//logging names array to console
console.log(nameArr);
//appending names to your api url
let url = `/report?name=`;
nameArr.forEach((name, index, ar) => {
? index === ar.length - 1 ? (url += ` '${name}'`) : (url += `?
'${name}', `);
});
//logging updated API URL to console
console.log(url);

TA貢獻(xiàn)1831條經(jīng)驗 獲得超9個贊
您可以將數(shù)組轉(zhuǎn)換為名稱數(shù)組,如下所示
const arr = [
{
"id": 8,
"isSelected": true,
"name": "leite condensado",
},
{
"id": 9,
"isSelected": true,
"name": "creme de leite",
},
]
const names = arr.map(obj => {
return obj.name
})
console.log (names)

TA貢獻(xiàn)1818條經(jīng)驗 獲得超3個贊
不確定我是否完全理解這個問題,但也許你需要這樣的東西?
let params = []
const array = [
{
"id": 8,
"isSelected": true,
"name": "leite condensado",
},
{
"id": 9,
"isSelected": true,
"name": "creme de leite",
},
]
array.map(item => params.push(item.name))
console.log(params)
https://codepen.io/pen/?editors=0011
結(jié)果將是 ["leite condensado", "creme de leite"]
基本上,您創(chuàng)建一個新數(shù)組,然后映射您擁有的結(jié)果并將所需的值推送到這個新數(shù)組中,然后將其發(fā)送到您的 api

TA貢獻(xiàn)1802條經(jīng)驗 獲得超6個贊
我和up有同樣的問題,我想將從Axios從jsonplaceholder接收到的post對象數(shù)組轉(zhuǎn)換為“post ids”數(shù)組,并通過數(shù)組數(shù)據(jù)將其發(fā)送到reducer.js。跟進(jìn)解決方案后,我得到了正確答案,如下所示。
axios.get('http://jsonplaceholder.typicode.com/posts?_start=10&_limit=5')
.then((res)=>{
const data=res.data
const ids = data.map(obj=>{
return obj.id
console.log('axios success:'+ids)
})
控制臺輸出如下: axios success:11,12,13,14,15
添加回答
舉報