2016-09-21 78 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.push("apple");myArray.splice(lastRemovedIndex, 0, "apple");
  • 變化if($.inArray(apple,myArray) != -1)$.inArray("apple", myArray) == -1
  • 使用索引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

抱歉,我忘記了這個信息。我更新了我的代碼! –