0

2 つの配列を比較し、配列が等しい場合はアラート (または後で他の関数) をポップアップ表示し、そうでない場合はアラートを表示する簡単な方法はありますか?

これが私の配列です

var answerKey = ["four", "two", "one", "three"];
var answers = [];

jQuery私はこれまでにこれを持っています

$("#subBtn").click(function() {
$('#bin a').each(function() {
    answers.push($(this).attr('name'));
})
console.log(answers);
});

HTML

<ul>
    <li><a draggable="true" href="#" id="one" name="uno" class="imgHvr">One</a></li>
    <li><a draggable="true" href="#" id="two" name="dos" class="imgHvr">2</a></li>
    <li><a draggable="true" href="#" id="three" name="tres" class="imgHvr">three</a></li>
    <li><a draggable="true" href="#" id="four" name="sweet" class="imgHvr">4</a></li>
</ul>
4

2 に答える 2

1

両方の配列を要素ごとに比較するだけです。

function arraysEqual(arr1, arr2){
    if (arr1.length != arr2.length) return false;

    for (var i=0;i<arr1.length;i++){
        if (arr1[i] != arr2[i]) return false;
    }

    return true;
}

クリックハンドラ...

 $("#subBtn").click(function() {
    var answers = [];
    $('#bin a').each(function() {
        answers.push($(this).attr('name'));
    }); 

    console.log(answers);

    if (!arraysEqual(answerKey, answers)) {
        alert("something");
    }
});

これを正確にコピーします

于 2012-11-02T19:39:13.437 に答える
0

要素ごとに比較したくない場合は、次のようにします。

if (JSON.stringify(array_1) == JSON.stringify(array_2)){
....
}
于 2012-11-02T19:46:23.570 に答える