ebody: javascript map() - auf bestimmte Elemente von value zugreifen

Beitrag lesen

problematische Seite

Hallo,

ich möchte auf bestimmte Elemente von value zugreifen:

const items = movies.filter(value => value.row === 1).map(value => value[0]);

value[0] gibt undefined zurück. Kann man in einer anderen Schreibweise auf das erste, zweite... Element von value zugreifen?

Ziel ist ein neues Array zusammen zu stellen:

// movies[] durchlaufen und dabei nach row filtern
for (i = 0; i < movies.length; i++) {
 const items = movies.filter(value => value.row === i).map(value => ({movie:value[0].content,medium:value[1].content}));
}

Zum Hintergrund der Frage:

/**
 * movies[] ist eine verkürtze Darstellung eines Google Spreadsheet Arrays
 * Die Inhalte aus dem Array sollen in einem neuen Array je Datensatz (row) zusammengefügt werden, um dieses neue Array für verschiedene Funktionen besser/einfacher nutzen zu können.
 */

const movies = [
    {
      content: 'Batman Begins',
      col: 1,
      row: 1
    },
    {
      content: 'Blu Ray',
      col: 2,
      row: 1
    },
    {
      content: 'The Dark Knight',
      col: 1,
      row: 2
    },
    {
      content: 'Blu Ray',
      col: 2,
      row: 2
    }  
];

// movies[] durchlaufen und dabei nach row filtern
for (i = 0; i < movies.length; i++) {
  // const items = movies.filter(value => value.row === i).map(value => value);
  const items = movies.filter(value => value.row === i).map(value => value[0]); // [undefined, undefined]
  // const items = movies.filter(value => value.row === i).map(value => value[0].content); // Cannot read property 'content' of undefined
  // const items = movies.filter(value => value.row === 1).map(value => ({movie:value[0].content,medium:value[1].content})); // Cannot read property 'content' of undefined
  
  console.log('items', items); 
}

Gruß ebody