Birden çok öğe için alfabe etiketi vererek verileri diziden alfabetik olarak sıralayın reactjs?

0

Soru

Bir sonraki js uygulamasını oluşturuyorum. Burada verileri diziden alfabetik olarak sıralamam gerekiyor ve alfabe etiketi de vermem gerekiyor. Bunu nasıl yapabilirim?

Örnek: Bir Dizim var-

export default [
    { name: "Xioami" },
    { name: "Samsung" },
    { name: "Sumia" },
    { name: "Siam" },
    { name: "Tackro" },
    { name: "Apple" },
    { name: "Oppo" },
    { name: "Techno" },
    { name: "Itel" },
]

İşte bunu göstermek zorundayım--

A
Apple

I
Itel

O
Oppo

S
Samsung
Siam
Sumia

T
Tackro
Techno

X
Xiomi

Alfabe etiketi ile..

İşte bileşenler

//Data
import BrandData from "Data/Header/Brand.Data";

const Brand = ({ setFilterData, filterData }) => {
    return (
        <List className={classes.List}>
            {brands &&
                brands.map((brand, i) => (
                    <ListItem key={i}>
                        {brand.name}
                    </ListItem>
                ))
            }
        </List>
    );
};
export default Brand;
javascript next.js reactjs
2021-11-23 18:03:29
1

En iyi cevabı

0

Neler yapabileceğiniz,

  • ilk grup telefonları ilk harflerine göre
  • ardından, her harfin grup bilge sıralama verileri
  • Oluşturma sırasında Alfabe Etiketini şu şekilde gösterebilirsiniz: index of array+'A've onu at as character & yalnızca uzunluğu>0>olan alfabe grubunu göster

     

const arr = [
    { name: "Xioami" },
    { name: "Samsung" },
    { name: "Apple" },
    { name: "Oppo" },
    { name: "Techno" },
    { name: "Itel" },
    { name: "Samsung1" },
    { name: "Apple1" },
    { name: "Apple2" },
    { name: "Oppo1" },
    { name: "Oppo2" },
    { name: "Oppo3" },
    { name: "Itel1" },
]

let alphabeticallyGrouped = [...Array(26)].fill([])

arr.forEach((phone) => {
    let index = phone.name[0].charCodeAt(0) - 'A'.charCodeAt(0);
    alphabeticallyGrouped[index] = [...alphabeticallyGrouped[index],phone]
});

const alphabeticallySorted = [...alphabeticallyGrouped].map(group => group.sort());

console.log(alphabeticallySorted)

Not: tarayıcının konsolunda çalıştırarak gerçek çıktıyı görebilir.

2021-11-23 18:27:12

React bileşeninde alfabe etiketini (A, B, C, D) nasıl gösterebilirim?
Lary John

Zaten bizim aldığımız gibi sıralandılar. array of size 26 A - > 0 endeksi, B - > > 1 endeksi, C - > > > 2 endeksi, . . . .
Himanshu Singh

React'te, yalnızca yanıtın 3.noktasında belirtilen mantığı kullanarak oluşturma işlemini gerçekleştirebilirsiniz.
Himanshu Singh

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................