我不想将重复值推入selectedOwners
,因此在下面的代码中,如果所有者不存在于selectedOwners
数组中,则用户选择所有者,我不想推入该控件,如何检查以避免重复值?
ctrl.js
var selectedOwners = [];
$scope.addProcessOwner = function(dataItem){
var selectedOwner = {
fullName: dataItem.fullName,
workerKey: dataItem.workerKey
}
if(selectedOwners.indexOf(selectedOwner) !== -1) {
selectedOwners.push(selectedOwner);
}
console.log('WORKER DATA',selectedOwners);
}
最佳答案
您可以使用Array.prototype.some
方法
some()方法测试数组中的某些元素是否通过提供的函数实现的测试。
var isExists = function(e) {
if (e.fullName == selectedOwner.fullName
&& e.workerKey == selectedOwner.workerKey) {
return true;
}
}
if (!selectedOwners.some(isExists)) {
selectedOwners.push(selectedOwner);
}