Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查并提醒是否有重复项插入到表中?_Javascript_Jquery_Html_Css_Angularjs - Fatal编程技术网

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;

  };