Heim Web-Frontend js-Tutorial js实现数组去重、判断数组以及对象中的内容是否相同_javascript技巧

js实现数组去重、判断数组以及对象中的内容是否相同_javascript技巧

May 16, 2016 pm 05:11 PM
对象 数组去重

复制代码 代码如下:

/*
*数组元素去重
*/
if(typeof Array.prototype.distinct != "function"){
Array.prototype.distinct = function(){
this.sort();
for(var i=0;iif($.isPlainObject(this[i]) && $.isPlainObject(this[i+1])){
if(o2o(this[i],this[i+1])){
this.splice(i,1);
}
}else if($.isArray(this[i]) && $.isArray(this[i+1])){
if(a2a(this[i],this[i+1])){
this.splice(i,1);
}
}else if(this[i]===this[i+1]){
this.splice(i,1);
}
}
}
}
/*
*比较对象是否相同
*/
function o2o(o1,o2){
if(!($.isPlainObject(o1) && $.isPlainObject(o2))){
return false;
}

var k1k2=[],k1 =[],k2=[];
$.each(o1,function(k,v){
k1.push(k);
});

$.each(o2,function(k,v){
k2.push(k);
});
if(k1.length != k2.length){
return false;
}
k1k2 = k1;
k1k2 = k1k2.concat(k2);
k1k2.distinct();
if(k1.length != k1k2.length || k2.length != k1k2.length){
return false;
}

var flag=true;
$.each(k1k2,function(i,v){
var v1= o1[v];
var v2 =o2[v];
if(typeof v1 != typeof v2){
flag= false;
}else{
if($.isPlainObject(v1) && $.isPlainObject(v2)){//recursion
flag = o2o(v1,v2);
if(!flag){
return false;
}
}else if($.isArray(v1) && $.isArray(v2)){
flag = a2a(v1,v2);
if(!flag){
return false;
}
}else{
if(v1 !== v2){
flag= false;
}
}
}
});
return flag;
}
/*
*比较数组是否完全相同
*/
function a2a(a1,a2){
if(!($.isArray(a1) && $.isArray(a2))){
return false;
}
if(a1.length != a2.length){
return false;
}

a1.sort();
a2.sort();
for(var i=0;iif(typeof a1[i] != typeof a2[i]){
return false;
}
if($.isPlainObject(a1[i]) && $.isPlainObject(a2[i])){
var retVal = o2o(a1[i],a2[i]);
if(!retVal){
return false;
}
}else if($.isArray(a1[i]) && $.isArray(a2[i]) ){//recursion
if(!a2a(a1[i],a2[i])){
return false;
}
}else if(a1[i] !== a2[i]){
return false;
}
}
return true;
}
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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen 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)

Konvertieren Sie ein Array oder Objekt mit der json_encode()-Funktion von PHP in einen JSON-String Konvertieren Sie ein Array oder Objekt mit der json_encode()-Funktion von PHP in einen JSON-String Nov 03, 2023 pm 03:30 PM

JSON (JavaScriptObjectNotation) ist ein leichtes Datenaustauschformat, das sich zu einem gängigen Format für den Datenaustausch zwischen Webanwendungen entwickelt hat. Die json_encode()-Funktion von PHP kann ein Array oder Objekt in einen JSON-String konvertieren. In diesem Artikel wird die Verwendung der json_encode()-Funktion von PHP vorgestellt, einschließlich Syntax, Parametern, Rückgabewerten und spezifischen Beispielen. Syntax Die Syntax der Funktion json_encode() lautet wie folgt: st

Geben Sie die Grundlage für das Entfernen doppelter Elemente beim Deduplizieren von PHP-Arrays an Geben Sie die Grundlage für das Entfernen doppelter Elemente beim Deduplizieren von PHP-Arrays an Apr 28, 2024 pm 10:48 PM

Die Funktion array_unique() von PHP wird verwendet, um doppelte Elemente aus einem Array zu entfernen. Standardmäßig wird strikte Gleichheit (===) verwendet. Wir können die Basis für die Deduplizierung über eine benutzerdefinierte Vergleichsfunktion festlegen: Erstellen Sie eine benutzerdefinierte Vergleichsfunktion und geben Sie den Deduplizierungsstandard an (z. B. basierend auf der Elementlänge). Übergeben Sie die benutzerdefinierte Vergleichsfunktion als dritten Parameter an die Funktion „Array_unique()“. Duplikate von Elementen basierend auf angegebenen Kriterien.

Quellcode-Erkundung: Wie werden Objekte in Python aufgerufen? Quellcode-Erkundung: Wie werden Objekte in Python aufgerufen? May 11, 2023 am 11:46 AM

Wedge Wir wissen, dass Objekte im Wesentlichen auf zwei Arten erstellt werden: zum einen über Python/CAPI und zum anderen durch den Aufruf eines Typobjekts. Bei Objekten integrierter Typen werden beispielsweise beide Methoden unterstützt. Listen können beispielsweise über [] oder list() erstellt werden, und letzteres ist ein aufrufendes Typobjekt. Aber beispielsweise Objekte benutzerdefinierter Klassen können wir nur durch den Aufruf von Typobjekten erstellen. Wenn ein Objekt aufgerufen werden kann, ist das Objekt aufrufbar, andernfalls ist es nicht aufrufbar. Ob ein Objekt aufrufbar ist, hängt davon ab, ob eine Methode im entsprechenden Typobjekt definiert ist. wie

Wie konvertiere ich ein MySQL-Abfrageergebnisarray in ein Objekt? Wie konvertiere ich ein MySQL-Abfrageergebnisarray in ein Objekt? Apr 29, 2024 pm 01:09 PM

So konvertieren Sie ein MySQL-Abfrageergebnis-Array in ein Objekt: Erstellen Sie ein leeres Objekt-Array. Durchlaufen Sie das resultierende Array und erstellen Sie für jede Zeile ein neues Objekt. Verwenden Sie eine foreach-Schleife, um die Schlüssel-Wert-Paare jeder Zeile den entsprechenden Eigenschaften des neuen Objekts zuzuweisen. Fügt dem Objektarray ein neues Objekt hinzu. Schließen Sie die Datenbankverbindung.

Verwenden Sie die Python-Funktion __contains__(), um die Einschlussoperation eines Objekts zu definieren Verwenden Sie die Python-Funktion __contains__(), um die Einschlussoperation eines Objekts zu definieren Aug 22, 2023 pm 04:23 PM

Verwenden Sie die Funktion __contains__() von Python, um die Einschlussoperation eines Objekts zu definieren. Python ist eine prägnante und leistungsstarke Programmiersprache, die viele leistungsstarke Funktionen für die Verarbeitung verschiedener Datentypen bietet. Eine davon besteht darin, die Eindämmungsoperation von Objekten durch Definieren der Funktion __contains__() zu implementieren. In diesem Artikel wird erläutert, wie Sie mit der Funktion __contains__() die Einschlussoperation eines Objekts definieren, und es wird ein Beispielcode bereitgestellt. Die Funktion __contains__() ist Pytho

So implementieren Sie die Array-Deduplizierung in es5 und es6 So implementieren Sie die Array-Deduplizierung in es5 und es6 Jan 16, 2023 pm 05:09 PM

In es5 können Sie die for-Anweisung und die Funktion indexOf() verwenden, um eine Array-Deduplizierung zu erreichen. Die Syntax „for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if( a== -1){...}}". In es6 können Sie den Spread-Operator Array.from() und Set verwenden, um Duplikate zu entfernen. Sie müssen zuerst das Array in ein Set-Objekt konvertieren, um Duplikate zu entfernen, und dann den Spread-Operator oder die Funktion Array.from() verwenden Konvertieren Sie das Set-Objekt zurück in ein Array.

Verwenden Sie die Funktion __le__() von Python, um einen Kleiner-gleich-Vergleich zweier Objekte zu definieren Verwenden Sie die Funktion __le__() von Python, um einen Kleiner-gleich-Vergleich zweier Objekte zu definieren Aug 21, 2023 pm 09:29 PM

Titel: Verwenden der Python-Funktion __le__() zum Definieren eines Kleiner-gleich-Vergleichs zweier Objekte. In Python können wir Vergleichsoperationen zwischen Objekten mithilfe spezieller Methoden definieren. Eine davon ist die Funktion __le__(), mit der Kleiner-gleich-Vergleiche definiert werden. Die Funktion __le__() ist eine magische Methode in Python und eine spezielle Funktion, die zur Implementierung der Operation „Kleiner als oder gleich“ verwendet wird. Wenn wir zwei Objekte mit dem Kleiner-gleich-Operator (&lt;=) vergleichen, Python

Was ist das Request-Objekt in PHP? Was ist das Request-Objekt in PHP? Feb 27, 2024 pm 09:06 PM

Das Request-Objekt in PHP ist ein Objekt, das zur Verarbeitung von HTTP-Anfragen verwendet wird, die vom Client an den Server gesendet werden. Über das Request-Objekt können wir die Anforderungsinformationen des Clients abrufen, z. B. die Anforderungsmethode, die Anforderungsheaderinformationen, die Anforderungsparameter usw., um die Anforderung zu verarbeiten und zu beantworten. In PHP können Sie globale Variablen wie $_REQUEST, $_GET, $_POST usw. verwenden, um angeforderte Informationen zu erhalten, aber diese Variablen sind keine Objekte, sondern Arrays. Um Anfrageinformationen flexibler und bequemer bearbeiten zu können, können Sie dies tun

See all articles