372 Stimmen

Was ist der effizienteste Weg, um N Arrays zu verketten?

Was ist der effizienteste Weg, um N Arrays von Objekten in JavaScript zu verketten?

Die Arrays sind veränderbar, und das Ergebnis kann in einem der Eingabe-Arrays gespeichert werden.

32voto

dogbane Punkte 253146

En concat() Methode wird verwendet, um zwei oder mehr Arrays zu verbinden. Sie ändert die vorhandenen Felder nicht, sondern gibt nur eine Kopie der verbundenen Felder zurück.

array1 = array1.concat(array2, array3, array4, ..., arrayN);

18voto

artnikpro Punkte 4957

Wenn Sie gerade dabei sind, das Ergebnis durch Map/Filter/Sort usw. zu leiten und Sie ein Array von Arrays zusammenfügen möchten, können Sie reduce

let sorted_nums = ['1,3', '4,2']
  .map(item => item.split(','))   // [['1', '3'], ['4', '2']]
  .reduce((a, b) => a.concat(b))  // ['1', '3', '4', '2']
  .sort()                         // ['1', '2', '3', '4']

10voto

chinmayan Punkte 1144

Jetzt können wir mehrere Arrays kombinieren mit ES6 Spread . Statt der Verwendung von concat() um Arrays zu verketten, versuchen Sie die Spread-Syntax zu verwenden, um mehrere Arrays zu einem flattened Array zu kombinieren. z. B:

var a = [1,2];
var b = [3,4];
var c = [5,6,7];
var d = [...a, ...b, ...c];
// resulting array will be like d = [1,2,3,4,5,6,7]

10voto

Th1 Punkte 269

So gelöst.

let arr = [[1, 2], [3, 4], [5, 6]];
 console.log([].concat(...arr));

9voto

ronaldtgi Punkte 592

Mit ES6 kürzen.

new Set([].concat(...Array));

Dies bedeutet konkaten y einzigartig die mehreren Arrays;

let Array = [
  ['vue','babel','npm','gulp','mysql','less','laravel'],
  ['jquery','react','js','css','wordpress','html','bootstrap'],
  ['vue','babel','npm','gulp','mysql','less','laravel'],
  ['angular','cms','js','css','graphql','nodejs','php'],
  ['severless','headless','js','css','design','photoshop','php'],
]

const Boom = new Set([].concat(...Array));

// This is not necessary 
let dStr = '';
Boom.forEach(e=>{
  dStr += e + ' ';
})
document.write(dStr);

<div class="result"></div>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X