【发布时间】:2021-12-07 13:59:34
【问题描述】:
我对编码很陌生,我正在练习一些数组操作。基本上,我正在尝试组织这个数组:
const sequence = ["abc", "abcd", "bca", "bdc", "cbd", "bdc", "acb"];
到这样的事情:
[[ 'abc', 'bca', 'acb'], ['bdc', 'cbd', 'bdc'], ['abcd']]
到目前为止,这就是我所拥有的:
const sequence = ["abc", "abcd", "bca", "bdc", "cbd", "bdc", "acb"];
let finalSequence = [];
let sequence2 = [];
let sequence3 = [];
let sequence4 = [];
sequence.forEach(element => {
for (const elem of element ) {
sequence2 = sequence.filter(e => e.includes(elem) && e.length === element.length)
sequence3 = sequence.filter(e => !e.includes(elem))
sequence4 = sequence.filter(e => e.includes(elem) && e.length !== element.length)
return sequence2, sequence3, sequence4
}
})
console.log(sequence2)
console.log(sequence3)
console.log(sequence4)
finalSequence.push(sequence2, sequence3, sequence4)
这仅适用于提供的数组,但一旦我开始对其进行测试并对其进行更多尝试,很明显这不是正确的方法。
非常感谢有关如何解决此问题的任何建议或意见。非常感谢!
【问题讨论】:
-
您以这种方式对元素进行分组的标准是什么?
-
嗨,安迪!特定数组中的每个元素必须具有相同的长度和项,这是一个序列问题。所以 abc's、bcd's 和 abcd 应该分组在各自的数组中。
标签: javascript arrays sorting