我在过滤唯一日期时得到不同的输出..它在某些情况下工作正常,在某些情况下工作不正确,例如下面的例子..我想不出是什么问题..低于过滤

我想从RatingsDaily["2"]数组和RatingsDaily["4"]数组中获取所有唯一的日期

// This is the data
const RatingsDaily = {
    "2": [
        {"2021-12-24": 3.21}, 
        {"2021-12-25": 3.19}, 
        {"2021-12-28": 3.29}, 
        {"2021-12-29": 3.24}, 
        {"2021-12-30": 3.38},
    ], 
    "4": [
        {"2021-12-24": 1.0}, 
        {"2021-12-25": 1.0}, 
        {"2021-12-26": 1.0}, 
        {"2022-01-27": 2.0}, 
        {"2022-01-03": 5.0}, 
        {"2022-01-05": 1.0},
    ]
}

// This is the way I am doing
let labels = []
let uniquelabel = []

for (let i = 0; i < RatingsDaily["2"].length; i++) {
    uniquelabel.push(Object.keys(RatingsDaily["2"][i]));
}

for (let i = 0; i < RatingsDaily["4"].length; i++) {
    uniquelabel.push(Object.keys(RatingsDaily["4"][i]));
}

const useFilter = arr => {
    return arr.filter((value, index, self) => {
        return self.indexOf(value) === index;
    });
};

const result = useFilter(uniquelabel);

console.log(result)

任何帮助都将不胜感激..提前谢谢

推荐答案

使用集合可能更好,因为它的设计目的是只保留唯一的值.此外,您可能有更多类型的收视率,所以最好不要明确地对2和4进行硬编码,而是考虑在RatingsDaily对象中存在的任何键.下面是一个例子:

const RatingsDaily = {"2": [{"2021-12-24": 3.21},{"2021-12-25": 3.19},{"2021-12-28": 3.29},{"2021-12-29": 3.24},{"2021-12-30": 3.38},], "4": [{"2021-12-24": 1.0},{"2021-12-25": 1.0},{"2021-12-26": 1.0},{"2022-01-27": 2.0},{"2022-01-03": 5.0},{"2022-01-05": 1.0}]}

const datesSet = new Set();
for (const rating of Object.keys(RatingsDaily)) {
    for (const dateObj of RatingsDaily[rating]) {
        datesSet.add(Object.keys(dateObj)[0]);
    }
}
const datesArr = Array.from(datesSet);
console.log(datesArr);

Javascript相关问答推荐

可以将SuperTest导入为ES 6模块吗?

Vue v模型检测父参考更改

v-textfield的规则找不到数据中声明的元素

访客柜台的风格React.js

使用print This时, map 容器已在LeafletJS中初始化

如何判断属于多个元素的属性是否具有多个值之一

我开始使用/url?q=使用Cheerio

Google图表时间轴—更改hAxis文本 colored颜色

Promise Chain中的第二个useState不更新

将旋转的矩形zoom 到覆盖它所需的最小尺寸&S容器

在运行时使用Next JS App Router在服务器组件中运行自定义函数

如何将数据块添加到d3力有向图中?

检索相加到点的子项

如何在箭头函数中引入or子句?

TinyMCE 6导致Data:Image对象通过提供的脚本过度上载

TypeError:无法读取未定义的属性(正在读取';宽度';)

搜索功能不是在分页的每一页上进行搜索

每次重新呈现时调用useState initialValue函数

当从其他文件创建类实例时,为什么工作线程不工作?

Node.js错误: node 不可单击或不是元素