gpt4 book ai didi

javascript - 根据值中的文本将数组拆分为小数组

转载 作者:行者123 更新时间:2023-11-28 11:29:54 25 4
gpt4 key购买 nike

我有一个大数组,如下例所示:

let array = ['aa-we', 'aa-we__qq', 'aa-we__qw', 'gsPlsOdd', 'bc-po-lp', 'bc-po-lp--ps', 'de', 'de__io', 'de__sl', 'de--xz', 'ccsDdd'];

我想按值将此数组拆分为小数组:

let array = [
['aa-we', 'aa-we__qq', 'aa-we__qw'],
['bc-po-lp', 'bc-po-lp--ps'],
['de', 'de__io', 'de__sl', 'de--xz']
]

// and camelcase strings should be removed

数组中的值具有类似于 BEM 选择器的语法,因此如果不同字符串的前缀相同,则应将它们包装在单个数组中。

如果可能的话,我怎样才能做到这一点,而不需要额外的库?

感谢您的帮助或提示!

最佳答案

console.clear()
let data = [
"aa-we",
"aa-we__qq",
"aa-we__qw",
"gsPlsOdd",
"bc-po-lp",
"bc-po-lp--ps",
"de",
"de__io",
"de__sl",
"de--xz",
"ccsDdd",
];


resultO = data.reduce((acc, val, idx) => {
if (val.match(/[A-Z]/)) {return acc;}
const sel = val.replace(/^(.*)(__|--).*$/g, "$1");
acc[sel] = acc[sel] || [];
acc[sel].push(val)
return acc;
}, {})
resultA = Object.values(resultO)

console.log(resultA)

关于javascript - 根据值中的文本将数组拆分为小数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54647020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com