Javascript ¿;如何在React中将未定义的元素过滤到数组中?
我希望能够从数组中提取未定义的元素,以便我的表能够正确显示值。目前我遇到了这个问题,下表显示了与这些表对应的数据,但数组似乎占据了无法显示的数据位置,我想将它们从数组中删除: 代码如下:Javascript ¿;如何在React中将未定义的元素过滤到数组中?,javascript,arrays,reactjs,loops,ecmascript-6,Javascript,Arrays,Reactjs,Loops,Ecmascript 6,我希望能够从数组中提取未定义的元素,以便我的表能够正确显示值。目前我遇到了这个问题,下表显示了与这些表对应的数据,但数组似乎占据了无法显示的数据位置,我想将它们从数组中删除: 代码如下: team.playerHasTeams.map((player) => { playersInTeamData.push({ idTeam: team.id, playerName: player.bookings.full_form_
team.playerHasTeams.map((player) => {
playersInTeamData.push({
idTeam: team.id,
playerName: player.bookings.full_form_data.name,
lastName: player.bookings.full_form_data.lastname,
location: player.bookings.full_form_data.location,
dateBirth: player.bookings.full_form_data.birth_date,
gender: player.bookings.full_form_data.gender,
position: player.bookings.full_form_data.position
})
})
let formatedData = playersInTeamData.map((player, index) => {
if (player.idTeam === team.id) {
return {
key: index,
assingTeam: (
<Form.Item>
<Select placeholder="Assign">
{searchResponse.map((team, index) => (
<Select.Option key={index} value={team.id}>
{team.official_name}
</Select.Option>
))}
</Select>
</Form.Item>
),
playerName: player.playerName,
lastName: player.lastName,
location: player.location,
dateBirth: player.dateBirth,
gender: player.gender,
position: player.position
}
}
})
team.playerHasTeams.map((玩家)=>{
PlayerInteamData.push({
idTeam:team.id,
playerName:player.bookings.full_form_data.name,
lastName:player.bookings.full\u form\u data.lastName,
位置:player.bookings.full_form_data.location,
dateBirth:player.bookings.full_form_data.birth_date,
性别:player.bookings.full_form_data.gender,
位置:player.bookings.full\u form\u data.position
})
})
让formatteddata=playerInteamData.map((播放器,索引)=>{
如果(player.idTeam==team.id){
返回{
关键词:索引,,
协助小组:(
{searchResponse.map((团队,索引)=>(
{团队官方名称}
))}
),
playerName:player.playerName,
lastName:player.lastName,
地点:player.location,
dateBirth:player.dateBirth,
性别:player.gender,
位置:player.position
}
}
})
请使用
Array.filter(cur => cur);
它将从数组中删除所有错误值检查array.prototype.filter方法它返回空元素,因为您对array.map的使用不好。您可以使用array的filter方法。此方法用于根据某些条件过滤数组并返回值。请注意,filter方法始终返回一个新数组,并且不会对现有数组进行更改。让newArray=Array.filter(v=>v);使用此选项,所有未定义的空值都将从数组中删除。@CertainPerformance该答案没有帮助,因为这是一个X-Y问题。是的,效果非常好,谢谢@Siddhartagrawal