gpt4 book ai didi

javascript - 按相等值过滤数组

转载 作者:行者123 更新时间:2023-11-30 07:12:33 25 4
gpt4 key购买 nike

我有一个数组:

let array = ['yay', 'yay', 'yay', 'opps', 'yay', 'yay', 'opps', 'opps', 'opps'];

如果我需要它,我该如何过滤这个数组:

let filterArray = [['yay', 3] ['opps', 1], ['yay', 2], ['opps' 3]];

谢谢。

最佳答案

您可以使用Array.reduce 方法遍历原始数组并创建新数组。

  • 如果acc(累加数组)为空,将[curr, 1](当前变量和计数)压入数组
  • 如果acc(累加数组)最后推送的索引包含curr变量,则更新计数
  • 如果acc(累加数组)最后压入的索引不包含curr变量,则压入[curr, 1]acc.

let array = ['yay', 'yay', 'yay', 'opps', 'yay', 'yay', 'opps', 'opps', 'opps'];

let modifiedArray = array.reduce((acc, curr) => {
if (!acc.length) {
acc.push([curr, 1]);
} else {
let lastPushedArray = acc[acc.length-1];
if (lastPushedArray[0] === curr) {
acc[acc.length-1][1]++;
} else {
acc.push([curr, 1]);
}
}
return acc;
}, []);

console.log(modifiedArray);

关于javascript - 按相等值过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49895168/

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