我有一个看起来像这样的数组数组。分割数组数组
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