Maison interface Web js tutoriel 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;
}
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Convertissez un tableau ou un objet en chaîne JSON à l'aide de la fonction json_encode() de PHP Convertissez un tableau ou un objet en chaîne JSON à l'aide de la fonction json_encode() de PHP Nov 03, 2023 pm 03:30 PM

JSON (JavaScriptObjectNotation) est un format d'échange de données léger qui est devenu un format courant pour l'échange de données entre applications Web. La fonction json_encode() de PHP peut convertir un tableau ou un objet en chaîne JSON. Cet article explique comment utiliser la fonction json_encode() de PHP, y compris la syntaxe, les paramètres, les valeurs de retour et des exemples spécifiques. Syntaxe La syntaxe de la fonction json_encode() est la suivante : st

Spécifiez la base de suppression des éléments en double lors de la déduplication des tableaux PHP Spécifiez la base de suppression des éléments en double lors de la déduplication des tableaux PHP Apr 28, 2024 pm 10:48 PM

La fonction array_unique() de PHP est utilisée pour supprimer les éléments en double d'un tableau. Par défaut, l'égalité stricte (===) est utilisée. Nous pouvons spécifier la base de la déduplication via une fonction de comparaison personnalisée : créez une fonction de comparaison personnalisée et spécifiez la norme de déduplication (par exemple, en fonction de la longueur de l'élément) ; transmettez la fonction de comparaison personnalisée comme troisième paramètre à la fonction array_unique(). dupliquer des éléments en fonction de critères spécifiés.

Exploration du code source : Comment les objets sont-ils appelés en Python ? Exploration du code source : Comment les objets sont-ils appelés en Python ? May 11, 2023 am 11:46 AM

Wedge Nous savons que les objets sont créés de deux manières principales, l'une via Python/CAPI et l'autre en appelant un objet de type. Pour les objets d'instance de types intégrés, les deux méthodes sont prises en charge. Par exemple, les listes peuvent être créées via [] ou list(). La première est Python/CAPI et la seconde est un objet de type appelant. Mais par exemple les objets de classes personnalisées, nous ne pouvons les créer qu'en appelant des objets de type. Si un objet peut être appelé, alors l'objet est appelable, sinon il ne l'est pas. Déterminer si un objet est appelable dépend du fait qu'une méthode est définie dans son objet de type correspondant. comme

Comment convertir le tableau de résultats d'une requête MySQL en objet ? Comment convertir le tableau de résultats d'une requête MySQL en objet ? Apr 29, 2024 pm 01:09 PM

Voici comment convertir un tableau de résultats de requête MySQL en objet : Créez un tableau d'objets vide. Parcourez le tableau résultant et créez un nouvel objet pour chaque ligne. Utilisez une boucle foreach pour attribuer les paires clé-valeur de chaque ligne aux propriétés correspondantes du nouvel objet. Ajoute un nouvel objet au tableau d'objets. Fermez la connexion à la base de données.

Utilisez la fonction __contains__() de Python pour définir l'opération de confinement d'un objet Utilisez la fonction __contains__() de Python pour définir l'opération de confinement d'un objet Aug 22, 2023 pm 04:23 PM

Utilisez la fonction __contains__() de Python pour définir l'opération de confinement d'un objet. Python est un langage de programmation concis et puissant qui fournit de nombreuses fonctionnalités puissantes pour gérer différents types de données. L'un d'eux consiste à implémenter l'opération de confinement des objets en définissant la fonction __contains__(). Cet article explique comment utiliser la fonction __contains__() pour définir l'opération de confinement d'un objet et donne un exemple de code. La fonction __contains__() est Python

Qu'est-ce que l'objet Request en PHP ? Qu'est-ce que l'objet Request en PHP ? Feb 27, 2024 pm 09:06 PM

L'objet Request en PHP est un objet utilisé pour gérer les requêtes HTTP envoyées par le client au serveur. Grâce à l'objet Request, nous pouvons obtenir les informations de demande du client, telles que la méthode de demande, les informations d'en-tête de demande, les paramètres de demande, etc., afin de traiter et de répondre à la demande. En PHP, vous pouvez utiliser des variables globales telles que $_REQUEST, $_GET, $_POST, etc. pour obtenir les informations demandées, mais ces variables ne sont pas des objets, mais des tableaux. Afin de traiter les informations demandées de manière plus flexible et plus pratique, vous pouvez

Comment implémenter la déduplication de tableau dans es5 et es6 Comment implémenter la déduplication de tableau dans es5 et es6 Jan 16, 2023 pm 05:09 PM

Dans es5, vous pouvez utiliser l'instruction for et la fonction indexOf() pour réaliser la déduplication de tableau. La syntaxe "for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if( a== -1){...}}". Dans es6, vous pouvez utiliser l'opérateur spread, Array.from() et Set pour supprimer la duplication ; vous devez d'abord convertir le tableau en un objet Set pour supprimer la duplication, puis utiliser l'opérateur spread ou la fonction Array.from(). pour reconvertir l'objet Set en un groupe Just.

Utilisez la fonction __le__() de Python pour définir une comparaison inférieure ou égale de deux objets Utilisez la fonction __le__() de Python pour définir une comparaison inférieure ou égale de deux objets Aug 21, 2023 pm 09:29 PM

Titre : Utilisation de la fonction __le__() de Python pour définir une comparaison inférieure ou égale de deux objets En Python, nous pouvons définir des opérations de comparaison entre des objets en utilisant des méthodes spéciales. L'une d'elles est la fonction __le__(), qui est utilisée pour définir des comparaisons inférieures ou égales. La fonction __le__() est une méthode magique en Python et est une fonction spéciale utilisée pour implémenter l'opération « inférieur ou égal ». Lorsque nous comparons deux objets en utilisant l'opérateur inférieur ou égal (&lt;=), Python

See all articles