Факты:Сравнение значений из нескольких JS массивов
- У меня есть несколько массивов (где-то от 2 до десятков), все состоит из классов CSS.
- Каждый класс в каждой ячейке относится к одному из следующих мест:
'alignment__'
,'font__'
,'leading__'
,'size__'
, или'tracking__'
. - Значения в массивах обычно не будут в одном порядке.
- Массивы не всегда будут содержать значение для каждого класса с пространством имен.
Что мне нужно:
- Если значение для каждого пространства имен тот же в каждом массиве, мне нужно вернуть
className
без имен. - Если значение для любого пространства имен равно разных в любом массиве, мне нужно вернуть
false
.
Пример:
Вот небольшой пример из коллекции массивов я буду работать:
p1 = ["alignment__left", "size__18px", "leading__170", "tracking__0", "font__Operator--1408"];
p2 = ["size__18px", "tracking__0", "font__Operator--1408", "alignment__left"];
p3 = ["alignment__left", "size__18px", "leading__170", "tracking__0", "font__Operator--1408"];
p4 = ["alignment__left", "size__18px"];
Эта коллекция массивов должна возвращать что-то вроде:
return {
alignment: 'left',
font: false,
leading: false,
size: '18px',
tracking: false
}
Предложения? Каждый угол, который я подхожу к этому, просто кажется медленным и неэффективным. Я использую lodash в этом проекте, если это упрощает ситуацию.
Если вы отрицаете вопрос, пожалуйста, оставьте комментарий, объясняющий почему. –
Возможно, разместите код, который вы уже ввели в свой вопрос. – Andy