how do I group this array in javascript

1
    tengo esto:
[
    ["preegunta 1", "estudio 1", "proyecto 1"],
    ["preegunta 1", "estudio 1", "proyecto 1"],
    ["preegunta 1", "estudio 1", "proyecto 1"],
    ["pregunta 2", "estudio 2", "proyecto 2"],
    ["pregunta 2", "estudio 2", "proyecto 2"],
    ["pregunta 2", "estudio 2", "proyecto 2"],
    ["pregunta3", "estudio 1", "proyecto 1"],
    ["pregunta3", "estudio 1", "proyecto 1"],
    ["pregunta3", "estudio 1", "proyecto 1"]
]

quiero esto:

[
    ["preegunta 1", "estudio 1", "proyecto 1"],
    ["pregunta 2", "estudio 2", "proyecto 2"],
    ["pregunta3", "estudio 1", "proyecto 1"]
]

Any function?

    
asked by johnnyvargast 15.06.2018 в 02:50
source

1 answer

1

var arr = [
    ["preegunta 1", "estudio 1", "proyecto 1"],
    ["preegunta 1", "estudio 1", "proyecto 1"],
    ["preegunta 1", "estudio 1", "proyecto 1"],
    ["pregunta 2", "estudio 2", "proyecto 2"],
    ["pregunta 2", "estudio 2", "proyecto 2"],
    ["pregunta 2", "estudio 2", "proyecto 2"],
    ["pregunta3", "estudio 1", "proyecto 1"],
    ["pregunta3", "estudio 1", "proyecto 1"],
    ["pregunta3", "estudio 1", "proyecto 1"]
];

var temp = '';
var otroArr = [];
arr.forEach( function(a){
  if( temp != a.join() ){
    otroArr.push( a );
    temp = a.join();
  }
});

console.log( otroArr );

It occurs to me to cycle the array and convert it to a string, then compare the current iteration with the one that was saved and thus get the duplicates.

Maybe there are better ways, but that occurs to me in the first instance.

    
answered by 15.06.2018 / 03:04
source