Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查数组是否已设置且同时包含值?_Javascript - Fatal编程技术网

Javascript 如何检查数组是否已设置且同时包含值?

Javascript 如何检查数组是否已设置且同时包含值?,javascript,Javascript,我需要检查['pk']是否在数组的第一项中可用,然后再做一些事情。数组并不总是填充的,所以我最终得到的代码块感觉有点臃肿 如何使此代码更短更好?我相信Javascript有办法做得更好。。。(当阵列为空时,控制台中没有很多错误…) 听起来你至少可以把两者结合起来 var $selectedItem = $scope.selectedItem[0] || null; if($selectedItem) { var $selectedPK = $selectedItem['pk']; if(

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

如何使此代码更短更好?我相信Javascript有办法做得更好。。。(当阵列为空时,控制台中没有很多错误…)


听起来你至少可以把两者结合起来

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==一个空字符串或null
if($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的评论是我一直在寻找的“答案”