Eliminación de datos duplicados en JavaScript


A, indexOf ()

Principio: la matriz original de datos, escritura a la nueva matriz, si la nueva matriz, sin estos datos, a continuación, escribir, indexOf () resultado es -1

. 1      var ARR = [1,2,2,3,5,3,1,5,4,3,4,5,6 ];
 2      // definir una nueva matriz 
3.      Var arr2 es = setNewArr (ARR);
 . 4      Consola .log (arr2 es);
 . 5      // array realiza los datos de deduplicación 
. 6      función setNewArr (ARR) {
 . 7          // definir una nueva matriz 
8.          var newArr = [];
 . 9          // ciclo de ejecución 
10          arr.forEach ( función (V) {
 11              // realizar determinación de posición apariencia carácter 
12 se              IF (newArr.indexOf (V) == -1 ) {
 13 se                  // Si no newArr los datos, los datos se escriben en newArr
14                  newArr.push (v);
15              }
 16          })
 17          de retorno newArr;
18      }

Nota: los objetos forEach no se pueden utilizar

En segundo lugar, el doble para el ciclo

. 1  var arr123 = [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5 ];
 2      // juzgar ciclo paquete de funciones 
. 3      función setNewArr2 (ARR) {
 4          // bucle exterior, a partir del primer ciclo a la última 
. 5          para ( var i = 0;. I <= 1-arr.Length; I ++ ) {
 6.              // bucle interior de un segundo número de ciclos de comenzando, para el último ciclo 
. 7              para ( var . J = I + 1.; J <= 1-arr.Length; J ++ ) {
 . 8                  // determina si la primera y segunda no son congruentes, y si es así, la primera dos de borrar, mover hacia adelante mientras que un j 
9.                  IF (ARR [I] === ARR [j]) {
 10                      arr.splice (j ,. 1 );
 . 11                     J, ;
 12 es                  }
 13 es              }
 14          }
 15          de retorno ARR;
 16      }
 17.      // variable de referencia de la función 
18 es      var newArr = setNewArr2 (arr123);
 . 19      la console.log (newArr);

nota:

ciclo de funcionamiento matriz, siempre que la operación de eliminación matriz de células

Asegúrese de realizar el valor de la variable de bucle - operación (local y la reducción)

En tercer lugar, la primera especie, después de de-énfasis
conceptos: valores de la primera matriz, el orden, la comparación de eliminación de duplicados

. 1              var ARR = [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5 ];
 2          // definir una nueva matriz 
3.          Var newArr = setNewArr3 (ARR );
 . 4          la console.log (newArr);
 . 5          // empaquetar una función 
6.          función setNewArr3 (ARR) {
 7.              // primera operación para ordenar la matriz, los mismos datos adyacente 
8.              var = arr.sort (newArr función (a, B) { regreso A- B});
 9.              la console.log (newArr);
 10              // matrices adyacentes están alineadas 
11.              para ( var i = 0; I <= arr.Length - 1;. I ++ ) {
12                  // si se elimina la matriz adyacente de los mismos, los datos siguientes, en comparación con el complemento bit siguiente de datos 
13 es                  SI (newArr [I] === newArr [I +. 1 ]) {
 14                      newArr.splice (I +. 1 , 1. )
 15                      i-- ;
 16                  }
 . 17              }
 18 es              retorno newArr;
 . 19          }

nota:

valores primera matriz, en orden de tamaño, están dispuestos
después de la clasificación, los mismos valores deben ser adyacentes
este caso, si dos comparación numérica adyacente, si el mismo, unos datos de borrar, i-- realiza entonces
usando un ciclo de lata el
número de ciclos es relativamente pequeña

Supongo que te gusta

Origin www.cnblogs.com/karl-kidd/p/12555990.html
Recomendado
Clasificación