0
所以,讓我們說我有對象的一個不錯的平板陣列:對象數組映射到網格(表)使用lodash?
let workers = [{
name: 'Tom',
age: 20,
town: 'Paris'
gender: 'M',
position: 'DEV'
},{
name: 'Mike',
age: 21,
town: 'Paris'
gender: 'M',
position: 'DEV'
},{
name: 'Jake',
age: 20,
town: 'London'
gender: 'M',
position: 'DEV'
},{
name: 'Simona',
age: 25,
town: 'Rome'
gender: 'F',
position: 'DEV'
},{
name: 'Manuela',
age: 20,
town: 'Rome'
gender: 'F',
position: 'DEV'
},{
name: 'Angelo',
age: 22,
town: 'Milan'
gender: 'M',
position: 'PR'
},{
name: 'Oliver',
age: 30,
town: 'Berlin'
gender: 'M',
position: 'PR'
}];
我想創建一個網格依賴於我的期望的特性(行和列)..
array2gridAll(陣列,rowProperty,colPropery)
let rows = array2gridAll(workers, 'position', 'town');
因此電網會是這樣
|----------------------------------------------------------------------------|--------------|
| | Berlin | London | Milan | Paris | Rome |
|----------------------------------------------------------------------------|--------------|
| | {} | Jake{} | {} | Tom{} | Simona{} |
| DEV |------------------------------------------------------------|--------------|
| | {} | {} | {} | Mike{} | Manuela{} |
|----------------------------------------------------------------------------|--------------|
| PR | Oliver{} | {} | Angelo{} | {} | {} |
|-------------------------------------------------------------------------------------------|
因此實際陣列:
rows = [
[
{
},{
name: 'Jake',
age: 20,
town: 'London'
gender: 'M',
position: 'DEV'
{
},{
name: 'Tom',
age: 20,
town: 'Paris'
gender: 'M',
position: 'DEV'
},{
name: 'Simona',
age: 25,
town: 'Rome'
gender: 'F',
position: 'DEV'
}
],
[
{
},{
},{
},{
name: 'Mike',
age: 21,
town: 'Paris'
gender: 'M',
position: 'DEV'
},{
name: 'Manuela',
age: 20,
town: 'Rome'
gender: 'F',
position: 'DEV'
},
],
[
{
name: 'Oliver',
age: 30,
town: 'Berlin'
gender: 'M',
position: 'PR'
},{
},{
name: 'Angelo',
age: 22,
town: 'Milan'
gender: 'M',
position: 'PR'
},{
},{
}
]
];
希望它有意義嗎?
其它功能將
array2grid(陣列,rowProperty,行,colPropery,COLS)
let rows = array2grid(workers, 'position', ['DEV'], 'town', ['Rome', 'Paris']);
在那裏我會得到
|------------------------------------------------|
| | Rome | Paris |
|------------------------------------------------|
| | Simona{} | Tom{} |
| DEV |--------------------------------|
| | Manuela{} | Mike{} |
|------------------------------------------------|
rows = [
[{
name: 'Simona',
age: 25,
town: 'Rome'
gender: 'F',
position: 'DEV'
},{
name: 'Tom',
age: 20,
town: 'Paris'
gender: 'M',
position: 'DEV'
}],
[{
name: 'Manuela',
age: 20,
town: 'Rome'
gender: 'F',
position: 'DEV'
},{
name: 'Mike',
age: 21,
town: 'Paris'
gender: 'M',
position: 'DEV'
}]
];
尷尬的是我在我把這個問題放在一起的時候,我可以開發它自己:)
但想知道最乾淨的方法嗎?
拿什麼乾淨的方法,如果你不表現出一定的代碼? –
沒有代碼顯示...我會去很長的路線,並做到這一點普通的JavaScript ...但有選擇去lodash,我並不真正熟悉它提供的所有... –
然後,我建議閱讀他們的文檔並熟悉它。 – evolutionxbox