[英]How do I filter out empty values in an Array?
我正在發布到 API,如果在pricing
表單字段中沒有輸入任何值,我想發送一個空數組。
我曾嘗試使用 filter 方法,但是當我發出 post 請求時,它會發送一個包含空對象的數組,即[{}]
我的狀態是:
title: "",
ticketing: "", // is equal to 0 (paid) or 1 (free)
pricing: [
{
price: "",
currency: "",
ticketLabel: ""
}
],
當 ticketing 等於 1 時,不會輸入price
、 currency
和ticketLabel
。
這是我的提交功能:
handleSubmit = async (event) => {
event.preventDefault();
const info = {
title: this.state.title,
ticketing: this.state.ticketing,
price: [
{
currency: this.state.currency,
price: this.state.price,
label: this.state.ticketLabel
}
].filter(token => Object.keys(token).length != 0)
}
我把它發布為
axios
.post(`https://www.diaspora100.com/api/v1/public/events/`, {
info,
})
目前,該帖子為:
price: [{}]
0: {}
我希望它發布為:
price: []
謝謝你的幫助!
當ticketing等於1時,不輸入價格、貨幣和票證標簽的值
也許你想要這樣的東西
const info = {
title: this.state.title,
ticketing: this.state.ticketing,
price: this.state.ticketing !== 1 ? [
{
currency: this.state.currency,
price: this.state.price,
label: this.state.ticketLabel
}
] : []
}
在價格的過濾器部分你可以試試這個
<price-array>.filter(token => token.price.length > 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.