Как перебрать массив объектов AD возвращение подходящий объект
У меня есть массив алфавитов от А до Я и массив объектов(который имеет свойства и значения), я должен пересечь объект бренда и сгруппировать его по алфавиту, например, если алфавит A чем мы должны сгруппировать все brand_name, начинающиеся с буквы A, то есть Adidas и adidas_orignals, Я использую
.map and .filter
для соответствующей функциональности, может ли кто-нибудь помочь мне для вышеуказанной функциональности, заранее спасибоconst en_alpha = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; const brands = [ {id:1, brand_name: 'adidas', brand_trans: 'أديداس', isPremium: true, url: '/brands/adidas'}, {id:2, brand_name: 'adidas Originals', brand_trans: 'أديداس اوريجينال', isPremium: false, url: '/brands/adidas-originals'}, {id:4, brand_name: 'Bodyism', brand_trans: 'بودييزم', isPremium: false, url: '/brands/bodyism'}, {id:5, brand_name: 'Columbia', brand_trans: 'كولومبيا', isPremium: false, url: '/brands/columbia'}, {id:5, brand_name: 'Converse', brand_trans: 'كونفرس', isPremium: true, url: '/brands/converse'}, ];
возвращаемое значение должно быть таким же, как показано ниже
{ brand_group_title: 'a', brand_list: [ {id:1, brand_name: 'adidas', brand_trans: 'أديداس', isPremium: true, url: '/brands/adidas'}, {id:2, brand_name: 'adidas Originals', brand_trans: 'أديداس اوريجينال', isPremium: false, url: '/brands/adidas-originals'}, ] } { brand_group_title: 'b', brand_list: [ {id:4, brand_name: 'Bodyism', brand_trans: 'بودييزم', isPremium: false, url: '/brands/bodyism'}, ] } { brand_group_title: 'c', brand_list: [ {id:5, brand_name: 'Columbia', brand_trans: 'كولومبيا', isPremium: false, url: '/brands/columbia'}, {id:5, brand_name: 'Converse', brand_trans: 'كونفرس', isPremium: true, url: '/brands/converse'}, ] }
Что я уже пробовал:
Я использую функцию. map и. filter для вышеперечисленного
let printData = []; var printList = brands.filter(function(str) { return str.map(function(char) { this.brand_name.charAt(0) === str; }); });