如何解决具有重复值的数组数组
let array = [
["7","s"],["7",["6","d"],["5","f"],"f"]
]
我有一个数组数组。因此,数组中的大多数项目都是相同的。我想要的结果应该只有每个数组中的一个加上一个说明数组重复次数的额外项。
//The new third value in the array is the number of times it was repeated.
[
["7","s",2],"d",1],"f",5]
]
解决方法
let array = [
["7","s"],["7",["6","d"],["5","f"],"f"]
];
let objArrayCount = array.reduce((acc,[number,letter]) => ({
...acc,[number]: {
...acc[number],[letter]: acc[number] && acc[number][letter] ? acc[number][letter] + 1 : 1
}
}),{});
reducedArray = Object.entries(objArrayCount).reduce((acc,letterFrequencyObj]) => [...acc,...Object.entries(letterFrequencyObj).map(([letter,frequency]) => [number,letter,frequency])],[]);
console.log(reducedArray);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。