indexOf- 得到 '0' 尽管该项目出现不止一次

indexOf- getting '0' though the item is present more than once

我必须根据表单中的动态输入创建一个数组,并检查是否存在相同的值。

输入示例:

<input type="text" data-index="0" id="inputMail0" class="signup-input text-value" name="email[0]" placeholder="e.g. example@url.com">
<input type="text" data-index="1" id="inputMail1" class="signup-input text-value" name="email[1]" placeholder="e.g. example@url.com">

我使用以下js代码:

   function validation(value,element){
      $('form *').removeClass('ignore');
        var map = [];
        $('.email input[type="text"]').each(function() {
            if($(this).val()!="") {
                map.push($(this).val())
            }
        });
        $('.email input[type="text"]').each(function(){
            if (map.indexOf($(this).val())>=0){
                console.log($(this).val())
            }
        });

代码没有得到必要的结果。

每个循环尝试合并一个

var map = [];

$('.email input[type="text"]').each(function(){
            if (map.indexOf($(this).val()) == -1){ // check the value exists
                map.push($(this).val())
            }
            else{
                // already exists
            }
 });