我在循环中使用它:
$(".somediv").append('text' + array[key].arrayelement + 'sometext'+ array[key].nextelementinArray + 'moretext']);
如何实现这一点:如果array[key].arrayelement
是null
(是的,它可能只是文字'null'
),那么做一件事,如果不是,那么另一件事? / p>
我尝试了这个可附加的文本来制作2个变量,但它没有用。
card.append('<div class="col-sm-12 col-md-6 col-lg-4"><div class="info-block bg-grey m-b-2 p-a-2"><h4 class="h4 underline-sm"> ' + response[key].firstname + ' ' + response[key].lastname + ' ' + '</h4><div class="col-sm-8 text-xs-left"> <p class="m-b-1"><b>'+ response[key].job_title + '<br>Tööruum:' + $.trim(response[key].room) + '</b></p><a href="mailto:' + $.trim(response[key].email) + '">' + $.trim(response[key].email) + '</a><p class="m-b-0">' + $.trim(response[key].phone) + ' ' + $.trim(response[key].cell_phone) + '</div><div class=" col-sm-4 text-xs-right m-b-1"><img src="' + $.trim(response[key].image) + '" class="rounded-circle lg" alt=""></div></div></div>');
简单得到:但我不想看到
Tööruum: ' + response[key].room
当房间值为文本'null'时。我在里面尝试了这个,这个响应[关键]的房间在哪里。
`function(){if(response[key].room===null) {return " ";}else {return '<br>Tööruum: + response[key].room';}};
但是nada。
答案 0 :(得分:2)
您可以使用Ternary Operator,并将您的语句和解析包装到()
括号中以隔离逻辑:
$(".somediv").append('text' + (array[key].arrayelement == 'null' ? <one thing> : <other thing>) + 'sometext'+ array[key].nextelementinArray + 'moretext']);
答案 1 :(得分:1)
您可以使用回调,并执行任意数量的操作
$(".somediv").append(function() {
if ( array[key].nextelementinArray === null ) {
return "something";
} else if ( array[key].nextelementinArray ) {
return "something else";
} else {
return "fail";
}
});
答案 2 :(得分:0)
根据条件
添加if (array[key] && array[key] !== 'null') {
$(".somediv")append('text' + array[key].arrayelement + 'sometext'+ array[key].nextelementinArray + 'moretext']);
}
答案 3 :(得分:-1)
也许你可以通过ternary operator解决这个问题? 类似于:
(array[key].arrayelement == null ? 'some backup value' : array[key].arrayelement)
更多&#34; javascripty-way&#34;看起来像是:
(array[key].arrayelement || 'some backup value')
如果你想做一些更复杂的事情,你可以使用内联函数:
...'text' + (function(){
//do whatever logic you want
//return string to append
return "my uber string";
})() + //rest of your concatenation