对于为什么我的代码中出现“未定义”错误,我感到困惑。我正在尝试使用'id'变量从数组中删除ID,但会出现'undefined'错误。我尝试了多种移动“ var id”的方法;但我仍然得到错误。我已在代码中标记了发生错误的地方,如果有人可以帮助我纠正此错误,将不胜感激。非常感谢
$(function() {
info = [];
$(document).on('click', '.rowChk', function() {
var id;
if (this.checked) {
$('#rowClk').show();
var currentRows = $(this).closest("tr");
var rackid = currentRows.find("td:eq(0)").text();
// var rackidnumber = currentRows.find("td:eq(1)").html();
var rackservice = currentRows.find("td:eq(2)").html();
var rackactivity = currentRows.find("td:eq(3)").html();
var rackdept = currentRows.find("td:eq(4)").html();
var rackcompany = currentRows.find("td:eq(5)").html();
var rackaddress = currentRows.find("td:eq(6)").html();
var rackuser = currentRows.find("td:eq(7)").html();
var rackitem = currentRows.find("td:eq(8)").html();
var rackddate = currentRows.find("td:eq(9)").html();
var rackdate = currentRows.find("td:eq(10)").html();
id = rackid;
data = {};
data.rackids = id;
// data.idnumber = rackidnumber;
data.service = rackservice;
data.activity = rackactivity;
data.dept = rackdept;
data.company = rackcompany;
data.address = rackaddress;
data.user = rackuser;
data.item = rackitem;
data.intakedate = rackdate;
data.destroydate = rackddate;
info.push(data);
} else {
console.log(id); <--- Showing as undefined
var index = info.findIndex(function(item) {
return item.id === id;
});
if (index !== -1) {
info.splice(index, 1);
if (info.length === 0) {
$('#rowClk').css('display', 'none');
}
}
}
});
});
答案 0 :(得分:1)
该值是不确定的,因为当代码到达else
语句时,您永远不会为其分配值。
您声明var id;
,然后打开if
语句,在其中分配值,而在else
中,它只是未定义的。
您需要在if else语句之前进行此操作id = rackid;
。
答案 1 :(得分:1)
您的变量catch{
Write-Line(Exception e.Message)
}
尚未在<?php
class Filter
{
public static function filterNumbersFromArray(&$arr)
{
$i = 0;
while($i < count($arr)){
if(is_integer($arr[$i]) === false){
unset($arr[$i]);
}
$i++;
}
}
}
$arr = [1, 'a', 'b', 2 , 'bb'];
Filter::filterNumbersFromArray($arr);
print_r(array_values($arr));
通量中定义。为了帮助您理解,else通量等效于:
id