2016-09-21 76 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

抱歉,我忘记了这个信息。我更新了我的代码! –