A desduplicação da matriz é um requisito comum e consideramos temporariamente matrizes do mesmo tipo para desduplicar. O principal é esclarecer as idéias e considerar o desempenho. Os seguintes métodos estão basicamente disponíveis on -line, e eu os resumirei brevemente aqui.
Ideias:
1. Itera através da matriz, compare um por um e exclua o seguinte após a comparação com a mesma.
2 itera sobre a matriz, compare um a um, compare com o mesmo, pule os repetidos anteriores e os coloque na nova matriz se forem diferentes.
3. Pegue qualquer elemento da matriz em uma nova matriz, atravesse qualquer elemento de matriz restante, compare -o com os elementos da nova matriz um por um. Se houver uma diferença, coloque -o na nova matriz.
4. Itera sobre a matriz, pegue um elemento, como o atributo do objeto e determine se o atributo existe
1. Exclua as duplicatas depois:
função ov1 (arr) {// var a1 = ((nova data) .getTime ()) para (var i = 0; i <arn.Length; i ++) para (var j = i+1; j <arn.Length; j ++) se (arr [i] ==== [j]) {arr.splice (j, 1); Data) .GetTime ()-A1) Retorne Arr.sort (função (a, b) {return ab});}2. Este é um método convencional, que é mais fácil de entender. Se o mesmo, o loop irá sair.
função ov2 (a) {// var a1 = ((nova data) .gettime ()) var b = [], n = a.Length, i, j; for (i = 0; i <n; i ++) {for (j = i+1; j <n; j ++) if (a [i] === a [j]) {j = false; quebrar;} if (j) b.push (a [i]); } //console.info(new data) .gettime ()-a1) retorna b.sort (função (a, b) {return ab});}3. Levei muito tempo para entender isso. Embora o loop J continue aqui, o valor de I mudou. É equivalente a um novo loop I:
função ov3 (a) {// var a1 = ((nova data) .getTime ()) var b = [], n = a.Length, i, j; para (i = 0; i <n; i ++) {for (j = i+1; j <n; j ++) if (a [i] === a [j]) j = ++ i b.push (a [i]);} //console.info(new data) .gettime ()-a1)}};4. Verifique se todas as novas matrizes são únicas
função ov4 (ar) {// var a1 = ((nova data) .getTime ()) var m = [], f; for (var i = 0; i <ar.length; i ++) {f = true; for (var j = 0; j <M.LenLength; j ++) if (ar [i] === m [j]) {f = false; break;}; if (f) m.push (ar [i])} // console.info ((new Date) .gettime ()-a1) retorna m.sort (função (a, b) {return ab});}5. Use propriedades de objeto
função ov5 (ar) {// var a1 = (nova data) .getTime () var m, n = [], o = {}; para (var i = 0; (m = ar [i])! == indefinido; i ++) se (! o [m]) {n.push (m); o [m] = true; n.sort (função (a, b) {return ab}) ;;}As recomendações acima para remover valores duplicados nas matrizes JavaScript são todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.