如何删除是不确定的JSON对象
我JSON数组在API加载如何删除是不确定的JSON对象
我打电话给他们使用
categories.map((i,j) =>{
return (<Tab label={'' + i.Name} key={j}/>);
})
它显示为时尚,健康,不确定的,不确定的,不确定的,因为从141到321的数字是不确定的。
如何防止undefined
在答案中打印?谢谢。
可以有条件地返回它:
categories.map((i,j) =>{
return (i.svcName && <Tab label={'' + i.svcName} key={j}/>);
})
UPDATE
阵营例如:
const arr = [{
val: 1
},
{
val: 2
},
{
val: false
},
{
val: ''
},
{
noval: 'blahh'
},
{
val: 3
},
{
val: undefined
},
{
val: 4
},
]
const Tab = ({ value }) => <div className="tab">{value}</div>;
class App extends React.Component {
render() {
return(
<div>
{
arr.map((obj, i) => obj.val && <Tab value={obj.val} key={i} />)
}
</div>
);
}
}
ReactDOM.render(<App/>, document.getElementById('root'));
.tab{
height: 50px;
width: 100px;
display:inline-block;
background-color: #333;
color:#fff;
text-align:center;
border: 1px solid #fff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
编辑
0在他的回答中提到作为@克里斯,我的做法会排除falsy values如null
,undefined
,""
,0
,NaN
等
这应该是被接受的答案。 – Chris
您必须首先检查是否值不是未定义的阵列中的每个项目:
categories.map((i,j) =>{
return (i.svcName !== undefined && <Tab label={'' + i.svcName} key={j}/>);
});
这明确地将检查svcName
不undefined
,但是null
,空字符串或任何其他falsy值将通过评估。
如果你想检查falsy值,去@ Sag1v的建议。
如果你不想地图功能的结果一样[el, el, el, false, el, el]
你应该使用前过滤:
categories.filter(el => el.svcName !== undefined).map((i,j) =>{
return (<Tab label={'' + i.svcName} key={j}/>);
})
随着Array#Filter
& Array#Map
categories.filter(i => i.svcName !== undefined).map((x,i) => <Tab label={'' + x.svcName} key={i}/>);
您将返回像空字符串等falsy值+您正在进行双重迭代 –
@ Sag1v。好,谢谢。你是对的。但仍然不明白为什么我的答案是dvoted? –
我不知道,反正也不是我。 –
你想,而不是打印呢?空字符串的名称或根本没有标签? – Chris
根本没有标签。只是时尚健康。 – PremKumar
有人在没有任何解释的情况下低估了每一个答案......很好。 – Chris