2016-09-21 7 views
0

このクリックイベントで、アイテムが配列内にあるかどうかを確認します。そうであれば、取り外します。そうでない場合は、同じ場所に戻してください。Jquery - 配列からのアイテムの追加と削除

var myArray = ["apple","orange","pear","grape"]; 

$("button").click(function(){ 
    if($.inArray(apple,myArray) != -1){ 
     myArray.push(apple,1); 
    } else { 
     myArray.splice(apple,1); 
    } 

    alert(myArray); 
}); 

答えて

0
  • 店舗外部変数の最後の削除のインデックス。
  • 変更myArray.splice(lastRemovedIndex, 0, "apple");
  • 変更$.inArray("apple", myArray) == -1ためif($.inArray(apple,myArray) != -1)ためmyArray.push("apple");
  • インデックスmyArray.splice(myArray.indexOf("apple"), 1);を使用して要素を削除します。
  • appleの周囲の"を忘れないでください。
  • 要素が削除された場合、最後の削除インデックスを更新します。

var myArray = ["apple", "orange", "pear", "grape"]; 
 

 
var lastRemovedIndex = -1; 
 
$("#myBtn").click(function() { 
 
    if ($.inArray("apple", myArray) == -1) { 
 
    myArray.splice(lastRemovedIndex, 0, "apple"); 
 
    } else { 
 
    var i = myArray.indexOf("apple"); 
 
    myArray.splice(i, 1); 
 
    lastRemovedIndex = i; 
 
    } 
 
    alert(myArray); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button id="myBtn">Click me</button>

+0

おかげで良い先生。 – user3328590

+0

リンゴをアレイの同じ場所に戻すにはどうしたらいいですか? – user3328590

+0

私はこの情報を忘れてしまった。私は自分のコードを更新しました! –

関連する問題