Heim Web-Frontend js-Tutorial javascript中删除指定数组中指定的元素的代码_javascript技巧

javascript中删除指定数组中指定的元素的代码_javascript技巧

May 16, 2016 pm 06:10 PM
元素

函数如下:

复制代码 代码如下:

foreach = function (obj, insp){
  if(obj== null && obj.constructor != Array){
  return [];
}
//obj是要处理的数组,obj==null 表示对象尚未存在;obj.constructor != Array 表示对象obj的属性的构造函数不是数组;
//constructor属性始终指向创建当前对象的构造函数。两个条件均满足,则返回空数组[];
//下面对constructor属性作进一步了解。
var obj= [1, 2, 3, 4]; // 等价于 var obj= new Array(1, 2, 3, 4);
console.log(obj.constructor === Array); // 返回true 表明obj的构造函数为Array;
var foo= function() { }; // 等价于 var foo = new Function();
console.log(foo.constructor === Function); // 返回true 表明foo的构造函数为Function;
var obj = new Foo(); //由构造函数实例化一个obj对象
console.log(obj.constructor === Foo); // 返回true 表明obj的构造函数为Foo;

-----------------------------------------------------------------------------------------------------------
var i=0, len = obj.length, r = [];
while(i  var x = insp(obj[i], i);
  if (x !== null) {
  r[r.length] = x;
}
 i++;
}
return r;
};
//对数组对象obj进行遍历,参数insp代表一个方法或函数,用于对obj中的每个元素进行操作。给参数insp传递了两个参数,obj[i]代表数组中的每一个元素值;并将函数参数insp赋给x,最终将x值赋给数组r。
-----------------------------------------------------------------------------------------------------------
比如我们要遍历数组中的每一个元素,引用foreach函数
var testArray = [1,2,3,4,5,1,2,'w'];
foreach(testArray, function(i){
  alert(i)
});
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
我们用另一个函数来删除指定数组中指定的元素;
复制代码 代码如下:

ArrayWithout = function(){
  if (arguments.length // Arguments 是特殊的对象,代表函数的参数.
    return arguments.length == 1 ? arguments[0] : null;
  }
  var results = [];
   var aa = arguments[0];
//将第一参数赋给数组aa;
  if (aa === null || aa.constructor != Array) {
    return null;
//如果aa不存在或者不是数组,那么返回null;
  }
  if(arguments[1].constructor == Array){
// 如果第二个参数是数组,则将参数数组中对应的每个元素都删除;
    var args = [];
    args[0] = aa;
//aa = arguments[0] 将aa赋给数组args,作为其第一个元素值;
    foreach(arguments[1], function(v, i){
//引用了函数foreach,来对数组arguments[1]中每个元素进行操作,
      args[i+1] = v;
// v代表数组arguments[1]中每个元素值,将它们一一赋值给args[1],args[2]...,而args[0]=arguments[0];
   });
   }
   else{
    args = arguments;
//如果第二个参数不是数组,则直接将参数数组赋给args;
  }
  for(var i = 0;i     var isWithout = true;
    for(var j = 1; j       if(aa[i] == args[j]){
       isWithout = false;
       break;
// 切记j是从1开始的,因为args的第一元素args[0]是arguments[0],正是我们要处理的的原数组,等同于数组aa;
让要删除的各个元素与原数组aa中的某一元素进行逐次比较,如果相同,break 跳出循环; isWithout返回false,所以也不再执行下面的 results.push(aa[i]);
    }
   }
     if (isWithout) {
       results.push(aa[i]);
        //所谓删除原理,就是将原数组各元素与要删除的元素进行比较,保留与要删除的元素不相同的元素并赋给一个新的数组results;
    }
  }
  return results;
//返回已经删除了指定元素的数组;
};
// 引用ArrayWithout的例子
var testArray = [1,2,3,4,5,1,2,'w'];
var result = ArrayWithout(testArray, 1, 3);
//var result = ArrayWithout(testArray, [1, 4]);
alert(result) //[2,4,5,2]

源代码如下:
复制代码 代码如下:

foreach = function (obj, insp){
if(obj == null && obj.constructor != Array){
return [];
}
var i=0, len = obj.length, r = [];
while(ivar x = insp(obj[i], i);
if (x !== null) {
r[r.length] = x;
}
i++;
}
return r;
};
ArrayWithout = function(){
if (arguments.length return arguments.length == 1 ? arguments[0] : null;
}
var results = [];
var aa = arguments[0];
if (aa === null || aa.constructor != Array) {
return null;
}
if(arguments[1].constructor == Array){
var args = [];
args[0] = aa;
foreach(arguments[1], function(v, i){
args[i+1] = v;
});
}
else{
args = arguments;
}
for(var i = 0;i var isWithout = true;
for(var j = 1; j if(aa[i] == args[j]){
isWithout = false;
break;
}
}
if (isWithout) {
results.push(aa[i]);
}
}
return results;
};
var testArray = [1,2,3,4,5,1,2];
foreach(testArray, function(i){
alert(i)
})
var result = ArrayWithout(testArray, 1, 3);
//var result = ArrayWithout(testArray, [1, 3]);
alert(result) //[2,4,5,2]
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

C++-Programm: Fügen Sie einem Array ein Element hinzu C++-Programm: Fügen Sie einem Array ein Element hinzu Aug 25, 2023 pm 10:29 PM

Ein Array ist eine lineare sequentielle Datenstruktur, die dazu dient, homogene Daten an zusammenhängenden Speicherorten zu speichern. Wie andere Datenstrukturen müssen Arrays in der Lage sein, Elemente auf effiziente Weise einzufügen, zu löschen, zu durchlaufen und zu aktualisieren. In C++ sind unsere Arrays statisch. C++ bietet auch einige dynamische Array-Strukturen. Bei einem statischen Array können Z-Elemente im Array gespeichert werden. Bisher haben wir n Elemente. In diesem Artikel erfahren Sie, wie Sie in C++ Elemente am Ende eines Arrays einfügen (auch als anhängende Elemente bezeichnet). Verstehen Sie das Konzept anhand von Beispielen. Die Verwendung des Schlüsselworts „this“ ist wie folgt: GivenarrayA=[10,14,65,85,96,12,35,74,69]Afterin

Was sind in JavaFX die verschiedenen Pfadelemente? Was sind in JavaFX die verschiedenen Pfadelemente? Aug 28, 2023 pm 12:53 PM

Das Paket javafx.scene.shape stellt einige Klassen bereit, mit denen Sie verschiedene 2D-Formen zeichnen können. Dies sind jedoch nur primitive Formen wie Linien, Kreise, Polygone und Ellipsen usw. Wenn Sie also komplexe benutzerdefinierte Formen zeichnen möchten, benötigen Sie um die Path-Klasse zu verwenden. Path-Klasse Path-Klasse Mit diesem geometrischen Umriss, der eine Form darstellt, können Sie benutzerdefinierte Pfade zeichnen. Zum Zeichnen benutzerdefinierter Pfade stellt JavaFX verschiedene Pfadelemente bereit, die alle als Klassen im Paket javafx.scene.shape verfügbar sind. LineTo – Diese Klasse repräsentiert die Pfadelementlinie. Es hilft Ihnen, eine gerade Linie von den aktuellen Koordinaten zu den angegebenen (neuen) Koordinaten zu zeichnen. HlineTo – Dies ist die Tabelle

CSS-Transformation: So erzielen Sie den Rotationseffekt von Elementen CSS-Transformation: So erzielen Sie den Rotationseffekt von Elementen Nov 21, 2023 pm 06:36 PM

CSS-Transformation: Um den Rotationseffekt von Elementen zu erzielen, sind spezifische Codebeispiele erforderlich. Im Webdesign sind Animationseffekte eine der wichtigen Möglichkeiten, die Benutzererfahrung zu verbessern und die Aufmerksamkeit des Benutzers zu erregen, und Rotationsanimationen sind eine der klassischeren Methoden. In CSS können Sie das Attribut „transform“ verwenden, um verschiedene Verformungseffekte von Elementen zu erzielen, einschließlich Rotation. In diesem Artikel wird detailliert beschrieben, wie Sie mithilfe der CSS-Transformation den Rotationseffekt von Elementen erzielen, und es werden spezifische Codebeispiele bereitgestellt. 1. Verwendung von CSSs „transf

CSS-Übergangseffekt: So erzielen Sie den Gleiteffekt von Elementen CSS-Übergangseffekt: So erzielen Sie den Gleiteffekt von Elementen Nov 21, 2023 pm 01:16 PM

CSS-Übergangseffekt: So erzielen Sie den Gleiteffekt von Elementen Einführung: Im Webdesign kann der dynamische Effekt von Elementen das Benutzererlebnis verbessern, wobei der Gleiteffekt ein häufiger und beliebter Übergangseffekt ist. Durch die Übergangseigenschaft von CSS können wir leicht den gleitenden Animationseffekt von Elementen erzielen. In diesem Artikel wird erläutert, wie Sie mithilfe von CSS-Übergangseigenschaften den Gleiteffekt von Elementen erzielen, und es werden spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis und eine bessere Anwendung zu ermöglichen. 1. Einführung in den CSS-Übergangsattributübergang CSS-Übergangsattributtra

Welche Elemente werden von HTML5 nicht unterstützt? Welche Elemente werden von HTML5 nicht unterstützt? Aug 11, 2023 pm 01:25 PM

Elemente, die HTML5 nicht unterstützt, sind rein ausdrucksstarke Elemente, rahmenbasierte Elemente, Anwendungselemente, austauschbare Elemente und alte Formularelemente. Ausführliche Einführung: 1. Rein ausdrucksstarke Elemente wie Schriftart, Mitte, S, U usw. Diese Elemente werden normalerweise zur Steuerung des Textstils und -layouts verwendet. 2. Rahmenbasierte Elemente wie Rahmen, Frameset und Noframes Elemente werden in der Vergangenheit zum Erstellen von Webseitenlayouts und geteilten Fenstern verwendet. 3. Anwendungsbezogene Elemente wie Applet, Isinde usw.

So implementieren Sie ein Layout mit einem festen Navigationsmenü mithilfe von HTML und CSS So implementieren Sie ein Layout mit einem festen Navigationsmenü mithilfe von HTML und CSS Oct 26, 2023 am 11:02 AM

So implementieren Sie mithilfe von HTML und CSS ein Layout mit einem festen Navigationsmenü. Im modernen Webdesign gehören feste Navigationsmenüs zu den häufigsten Layouts. Dadurch kann das Navigationsmenü immer oben oder am Rand der Seite angezeigt werden, sodass Benutzer bequem durch Webinhalte navigieren können. In diesem Artikel wird erläutert, wie Sie mithilfe von HTML und CSS ein Layout mit einem festen Navigationsmenü implementieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen Sie eine HTML-Struktur erstellen, um den Inhalt der Webseite und das Navigationsmenü darzustellen. Hier ist ein einfaches Beispiel

So verwenden Sie CSS, um den Transparenzverlaufseffekt eines Elements zu erzielen So verwenden Sie CSS, um den Transparenzverlaufseffekt eines Elements zu erzielen Nov 21, 2023 pm 01:38 PM

So verwenden Sie CSS, um den Transparenzverlaufseffekt von Elementen zu erzielen. In der Webentwicklung ist das Hinzufügen von Übergangseffekten zu Webseitenelementen eines der wichtigen Mittel zur Verbesserung der Benutzererfahrung. Der Verlaufseffekt der Transparenz kann nicht nur die Seite glatter machen, sondern auch den Hauptinhalt des Elements hervorheben. In diesem Artikel wird erläutert, wie Sie mithilfe von CSS den Transparenzgradienteneffekt von Elementen erzielen, und es werden spezifische Codebeispiele bereitgestellt. Verwenden des CSS-Übergangsattributs Um den Transparenzverlaufseffekt eines Elements zu erzielen, müssen wir das CSS-Übergangsattribut verwenden. T

So entfernen Sie Elemente mit jquery So entfernen Sie Elemente mit jquery Feb 17, 2023 am 09:49 AM

So entfernen Sie Elemente mit jQuery: 1. Löschen Sie das ausgewählte Element und seine Unterelemente über die jQuery-Methode „remove()“. Die Syntax lautet „$(“#div1“).remove();“; empty()-Methode. Die untergeordneten Elemente des ausgewählten Elements, die Syntax ist „$(“#div1“).empty();“.

See all articles