我JSON數組在API加載如何刪除是不確定的JSON對象
我打電話給他們使用
categories.map((i,j) =>{
return (<Tab label={'' + i.Name} key={j}/>);
})
它顯示爲時尚,健康,不確定的,不確定的,不確定的,因爲從141到321的數字是不確定的。
如何防止undefined
在答案中打印?謝謝。
我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