Как я могу упростить данный код js

var marks_types = [
   ['sometext', 'type-1'],
   ['sometext', 'type-2'],
   ['sometext', 'type-3'],
   ['sometext', 'type-4']
];

var selector = '';
for (let i = 0; i < marks_types.length; i++) selector += `.${marks_types[i][1]}, `;
selector = selector.substr(0, selector.length - 2);

в переменную selector должно присваиваться значение всех элементов многомерного массива marks_types с индексом 1. То есть что-то вроде .type-1, .type-2, .type-3, .type-4. Я знаю что это можно сделать как то очень просто, но из-за того, что массив многомерный, возникают сложности, лично у меня


Ответы (1 шт):

Автор решения: vsemozhebuty

Можно так:

const marks_types = [
   ['sometext', 'type-1'],
   ['sometext', 'type-2'],
   ['sometext', 'type-3'],
   ['sometext', 'type-4']
];

const selector = marks_types.map(array => array[1]).join(', ');

console.log(selector);

Или так:

const marks_types = [
   ['sometext', 'type-1'],
   ['sometext', 'type-2'],
   ['sometext', 'type-3'],
   ['sometext', 'type-4']
];

const selector = marks_types.reduce((str, el) => `${str}, ${el[1]}`, '').slice(2);

console.log(selector);

→ Ссылка