如何在数组中查找重复值并返回True或False?

时间:2015-01-28 23:00:57

标签: javascript jquery

我看了一遍这样的例子,但无法弄明白。

$('.ac-items').on(flexClick, function () {
    var $this = $(this);
    var inputSelection = $this.parent().parent().find('input').val();
    var currentField = $this.parent().parent().find('input');
    var crewInputs = $('input[id^="crew-list-"]');
    var crewChoices = new Array ();
    for (i=0; i<crewInputs.length; i++) {
        crewChoices.push(crewInputs[i].value);
    }
    for (a = 0; a < crewChoices.length; a++) {
        if (inputSelection == crewChoices[a]) {
            alert('try again');
        }

    }

 });

2 个答案:

答案 0 :(得分:0)

测试您的值是否已在数组中。如果没有,那就推吧。

    var crewChoices = new Array ();
    for (i=0; i<crewInputs.length; i++) {
        if($.inArray( crewInputs[i].value, crewChoices ) != -1) {
                crewChoices.push(crewInputs[i].value);
        }
    }

答案 1 :(得分:0)

你想要制作一套吗? JS没有本机集,确切地说......但是你可以使用对象获得相同的功能(意味着没有重复的项目)。

var setObject = {};

var choices = ['foo', 'foo', 'bar', 'baz', 'baz'];

choices.forEach(function(choice){
  setObject[choice] = true;
});

console.log(setObject); // >>> {foo: true, bar: true, baz: true}