添加记录时,我正在尝试对名称进行重复检查。最初,我已将value
分配给false
。在任何不匹配的情况下,value
在每个循环内被更改为true
,并退出循环。但在循环之外,value
再次显示为false
。
function IsDuplicated(name) {
var value = false;
masterTable = $('#example').DataTable();
var form_data = masterTable.rows().data();
$.each(form_data, function (key, value) {
alert(value.Name);
if (name== value.Name) {
value = true;
alert(value+ " 1")
return false;
}
});
alert(value+ " 2")
return value;
}
你能解释一下为什么它在从每个循环返回后都会更改为默认值吗?
如果使用find而不是,会更干净
function IsDuplicated(name) {
const masterTable = $('#example').DataTable();
const data = masterTable.rows().data();
return !!data.find(d => d.Name == name)
}