Javascript 从数组中删除项而不进行迭代

Javascript 从数组中删除项而不进行迭代,javascript,jquery,arrays,Javascript,Jquery,Arrays,我已经阅读了一些文档,但我觉得有一种更简单的方法可以从数组中删除一个项,而无需使用迭代循环 更新的JSFIDLE:使用not() 如下所示,使用从匹配元素集中删除元素: $myList.not('#1a').fadeOut(); 请注意,$myList不是一个数组,而是一个jQuery对象(即使它的行为类似于数组) 您也可以像下面这样重写代码: var $myList = $("#1a, #2a, #3a"); $("#1,#2,#3").on("click", function() {

我已经阅读了一些文档,但我觉得有一种更简单的方法可以从数组中删除一个项,而无需使用迭代循环

更新的JSFIDLE:使用
not()



如下所示,使用从匹配元素集中删除元素:

$myList.not('#1a').fadeOut();
请注意,
$myList
不是一个数组,而是一个jQuery对象(即使它的行为类似于数组)

您也可以像下面这样重写代码:

var $myList = $("#1a, #2a, #3a");

$("#1,#2,#3").on("click", function() {
    $myList.not('#'+this.id+'a').fadeOut();
    $('#'+this.id+'a').fadeIn("slow");    
});

您可以这样使用

$("button").click(function(){
  $("[id$=a]").hide();

  $("#"+this.id+"a").show();
});
使用


$arrayName.splice(位置、元素数量)

javscript
.splice()
.filter
是你的朋友。我甚至用splice()通读了一遍,但它没有点击。谢谢你,很抱歉问了一个愚蠢的问题:)@Sophisticake,因为
.not()
就是为完成这项工作而设计的。而
splice()
是数组的方法,而不是jQuery对象<代码>拼接()按位置等返回删除的元素。。。
var $myList = $("#1a, #2a, #3a");

$("#1,#2,#3").on("click", function() {
    $myList.not('#'+this.id+'a').fadeOut();
    $('#'+this.id+'a').fadeIn("slow");    
});
$("button").click(function(){
  $("[id$=a]").hide();

  $("#"+this.id+"a").show();
});