我需要检查数组中第一项是否有['pk'],然后再做一些事情。数组并不总是被填充,所以我最终会得到一块感觉有点臃肿的代码。
如何让这段代码更短更好?我确定Javascript有办法更好地做到这一点......(当数组为空时,控制台中没有很多错误......)
var $selectedItem = $scope.selectedItem[0] || null;
if($selectedItem) {
var $selectedPK = $selectedItem['pk'];
}
if($selectedPK) { ... }
答案 0 :(得分:3)
由于没有进一步检查布尔和条件的第一部分是否为false
,因此更加简洁:
if ($selectedItem && $selectedItem['pk']) {
...
}
我认为你应该能够立即完成任务:
if ($selectedItem && ($selectedPk = $selectedItem['pk'])) {
...
}
答案 1 :(得分:0)
听起来你至少可以将两者结合起来
var $selectedItem = $scope.selectedItem[0] || null;
if($selectedItem) {
var $selectedPK = $selectedItem['pk'];
if($selectedPK) {
...
}
}
答案 2 :(得分:0)
还有一个;)....
if ($scope.selectedItem[0] && $scope.selectedItem[0].pk!==undefined) {
// do stuff
}