我需要检查['pk']是否在数组的第一项中可用,然后再做一些事情。数组并不总是填充的,所以我最后得到的代码块有些膨胀。

如何使这段代码更短,更好?我确定Javascript可以更好地做到这一点...(在数组为空的情况下,控制台不会出现很多错误...)

var $selectedItem = $scope.selectedItem[0] || null;
if($selectedItem) {
  var $selectedPK = $selectedItem['pk'];
}
if($selectedPK) { ... }

最佳答案

由于没有进一步检查布尔值和条件的第一部分是否为false,因此更加简洁:

if ($selectedItem && $selectedItem['pk']) {
  ...
}


我认为您应该可以立即在条件下进行作业:

if ($selectedItem && ($selectedPk = $selectedItem['pk'])) {
  ...
}

关于javascript - 如何检查数组是否同时设置并包含一个值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17909157/

10-16 20:04