我有一個看起來像這樣的數組數組。分割數組數組
const data = [
['list1'],
['item1', '1'],
['item2', '2'],
['item3', '3'],
['item4', '4'],
[' ']
['list2'],
['item1', '1'],
['item2', '2'],
['item3', '3'],
['item4', '4'],
[' ']
['list3'],
['item1', '1'],
['item2', '2'],
['item3', '3'],
['item4', '4'],
[' ']
]
我需要得到所有的列表1之間的項目,列表2 &項目list3和空值,以建立一個更加結構化的容器內,使列表1,列表2 &項目list3包括的項目,如兒童。例如 {
const data2 = {
'list1': {'item1': '1', 'item2': '2', 'item3': '3', 'item4': '4'},
'list2': {'item1': '1', 'item2': '2', 'item3': '3', 'item4': '4'},
'list3': {'item1': '1', 'item2': '2', 'item3': '3', 'item4': '4'},
'list4': {'item1': '1', 'item2': '2', 'item3': '3', 'item4': '4'}
}
請告訴我最有效的方式來查詢數據數組以獲取列表標題之間的項目?我看到lodash有一個採用索引的_.slice
方法,但是我看不到用數組值作爲分隔符的方法。
第二個if應該是else else嗎? – styfle
@styfle是的,這將有助於性能 – Xiaoy312
是的,這是訣竅。它肯定比以前的答案更容易理解。唯一的問題是我的列表名稱和項目名稱可能會有所不同。即它們不會以'list'和'item'開始 – user1513388