Javascript 如何检查并提醒是否有重复项插入到表中?
对于通过“添加”按钮添加的每个品牌和型号,我需要检查是否存在副本,如果存在副本,则设置警报,不允许将其添加到表中。似乎找不到解决办法 下面是我正在处理的初学者项目的全部代码。我为这篇文章提前道歉,这是我第一次来这里。。。谢谢大家Javascript 如何检查并提醒是否有重复项插入到表中?,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,对于通过“添加”按钮添加的每个品牌和型号,我需要检查是否存在副本,如果存在副本,则设置警报,不允许将其添加到表中。似乎找不到解决办法 下面是我正在处理的初学者项目的全部代码。我为这篇文章提前道歉,这是我第一次来这里。。。谢谢大家 <div> <div>Make: <input type="text" ng-model="make"></div> <div>Model:<input type="text" ng-model="m
<div>
<div>Make: <input type="text" ng-model="make"></div>
<div>Model:<input type="text" ng-model="model"></div>
<button ng-click="add()">Add</button>
制作:
型号:
添加
制作
模型
{{car.make}
{{car.model}}
制作
模型
{{car.make}
{{car.model}}
var carsApp=angular.module('carsApp',[]);
carsApp.controller('carController',函数($scope){
$scope.cars=[];
$scope.add=函数(){
$scope.cars.push({
make:$scope.make,
model:$scope.model
});
$scope.make=null;
$scope.model=null;
};
$scope.rowClick=功能(汽车){
$scope.make=car.make;
$scope.model=car.model;
};
$scope.alert=函数(){
警报(“表中已存在”);
}
});
您可以通过检查数组中的每个
汽车来检查重复项(比较品牌和型号)-您可以通过数组来完成此操作。有些(如果数组中的任何元素与条件匹配,则返回布尔值):
在添加功能中:
var hasDuplicates = $scope.cars.some(car => car.make == $scope.make && car.model == $scope.model);
if (hasDuplicates) {
alert("Car already exists");
} else {
$scope.cars.push({
make: $scope.make,
model: $scope.model
});
}
如果无法使用箭头语法:
var hasDuplicates = $scope.cars.some(function(car) {
return car.make == $scope.make && car.model == $scope.model;
});
哇,令人惊讶的是,回答的速度有多快。非常感谢你的帮助!嘿,Tyme,如果没有箭头语法,我将如何设置它。我不能让你的部分代码工作?我的表格无法填充。@Mr.Mike-答案的第二部分显示了如何在没有箭头语法的情况下进行填充。当我使用答案的第二部分时,我填充make和model,然后单击Add。没有任何东西能传到桌子上。我尝试添加$scope.cars.push,但可能我做错了什么。
<script>
var carsApp = angular.module('carsApp', []);
carsApp.controller('carController', function ($scope){
$scope.cars = [];
$scope.add = function () {
$scope.cars.push({
make: $scope.make,
model: $scope.model
});
$scope.make = null;
$scope.model = null;
};
$scope.rowClick = function(car){
$scope.make= car.make;
$scope.model= car.model;
};
$scope.alert = function(){
alert('Already exists in table');
}
});
var hasDuplicates = $scope.cars.some(car => car.make == $scope.make && car.model == $scope.model);
if (hasDuplicates) {
alert("Car already exists");
} else {
$scope.cars.push({
make: $scope.make,
model: $scope.model
});
}
var hasDuplicates = $scope.cars.some(function(car) {
return car.make == $scope.make && car.model == $scope.model;
});
$scope.add = function () {
let dataToAdd = {
make: $scope.make,
model: $scope.model
};
let alreadyAdded = $scope.cars.some((o) => angular.equals(o, dataToAdd ));
if (alreadyAdded) {
$scope.alert();
return false;
}
$scope.cars.push(dataToAdd);
$scope.make = null;
$scope.model = null;
};