从每个循环返回后显示默认值



添加记录时,我正在尝试对名称进行重复检查。最初,我已将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)    
}

最新更新