Javascript 如何检查数组是否已设置且同时包含值?
我需要检查['pk']是否在数组的第一项中可用,然后再做一些事情。数组并不总是填充的,所以我最终得到的代码块感觉有点臃肿 如何使此代码更短更好?我相信Javascript有办法做得更好。。。(当阵列为空时,控制台中没有很多错误…)Javascript 如何检查数组是否已设置且同时包含值?,javascript,Javascript,我需要检查['pk']是否在数组的第一项中可用,然后再做一些事情。数组并不总是填充的,所以我最终得到的代码块感觉有点臃肿 如何使此代码更短更好?我相信Javascript有办法做得更好。。。(当阵列为空时,控制台中没有很多错误…) 听起来你至少可以把两者结合起来 var $selectedItem = $scope.selectedItem[0] || null; if($selectedItem) { var $selectedPK = $selectedItem['pk']; if(
听起来你至少可以把两者结合起来
var $selectedItem = $scope.selectedItem[0] || null;
if($selectedItem) {
var $selectedPK = $selectedItem['pk'];
if($selectedPK) {
...
}
}
听起来你至少可以把两者结合起来
var $selectedItem = $scope.selectedItem[0] || null;
if($selectedItem) {
var $selectedPK = $selectedItem['pk'];
if($selectedPK) {
...
}
}
由于不需要进一步检查布尔and条件的第一部分是否为
false
,因此更为简洁:
if ($selectedItem && $selectedItem['pk']) {
...
}
我认为你应该能够立即在这种情况下完成任务:
if ($selectedItem && ($selectedPk = $selectedItem['pk'])) {
...
}
由于不需要进一步检查布尔and条件的第一部分是否为
false
,因此更为简洁:
if ($selectedItem && $selectedItem['pk']) {
...
}
我认为你应该能够立即在这种情况下完成任务:
if ($selectedItem && ($selectedPk = $selectedItem['pk'])) {
...
}
还有一个;)
还有一个;)
if($selectedItem&&$selectedItem['pk'])
?我认为这个问题不够具体。@slhck if($scope.selectedItem[0]&&$scope.selectedItem[0]['pk']){;工作很有魅力,谢谢!把它写成一个问题,我会接受:)特别检查$scope.selectedItem[0]['pk']
是否未定义,或者如果$scope.selectedItem[0]['pk']==0
,检查将失败。。。看看我的回答如果pk==一个空字符串或nullif($selectedItem&&$selectedItem['pk'])
?我认为这个问题不够具体。@slhck if($scope.selectedItem[0]&&$scope.selectedItem[0]['pk']){;工作很有魅力,谢谢!把它写成一个问题,我会接受:)特别检查$scope.selectedItem[0]['pk']
是否未定义,或者如果$scope.selectedItem[0]['pk']==0
,检查将失败。。。看看我的回答如果pk==空字符串或null doh.,它也会失败。。当然:)我没有对示例代码进行太多润色。然而,slhck的评论是我一直在寻找的“答案”。。当然:)我没有对示例代码进行太多润色。然而,slhck的评论是我一直在寻找的“答案”