我正在尝试通过重复值将一个整数数组拆分为一个数组数组。原始数组由 6 位整数的列表组成,其中一些整数成对出现,另一些以 3 或 4 为一组出现。我想将这些重复项推送到它们自己的数组中,并将所有这些重复项数组组合成一个数组数组,稍后我可以循环遍历。
我在 lodash 库中查看了一些方法或组合,但找不到任何似乎有效的东西。我还尝试了一些带有嵌套 for 循环的不同配置,但我也在为此苦苦挣扎。
const directory = "X/";
let files = fs.readdirSync(directory);
let first6Array = [ ];
for(i=0; i< files.length; i++){
let first6 = files[i].substring(0, 6);
first6Array.push(first6);
};
console.log(first6Array);
first6Array 的示例输出: [ '141848', '141848', '141848', '142851', '142851', '143275', '143275']
我想以这样的方式结束
让 MasterArray = [[141848,141848,141848],[142851,142851],[143275,143275]];
最佳答案
您可以使用 new Set()
来过滤掉重复项。
然后对每个值使用唯一的数组和过滤器。
const firstArray = [ '141848', '141848', '141848', '142851', '142851', '143275', '143275'];
const numberArray = firstArray.map(Number);
const masterArray = [];
const unique = new Set (numberArray); // Set {141848, 142851, 143275}
unique.forEach(u => {
masterArray.push(numberArray.filter(e => e === u));
});
console.log(masterArray);
关于javascript - 如何将数组中的多组重复整数分组到自己的数组数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54375237/