cqwcns 发表于 2021-4-13 19:47

JS map函数获得非重复的值

我希望获得DATA_ALL._id.workType非重复的所有值,但以下代码无法实现非重复的需求,请问应该怎么改?谢谢



const thisType = DATA_ALL.map(dataMap => dataMap._id.workType);
      console.log(thisType)


asins 发表于 2021-4-13 19:51

你至少给一个测试数据,以及期望输出的结果是什么噢。不能理解你说的非重复项的意思。

看看天空 发表于 2021-4-13 19:55

用 filter 可以

asins 发表于 2021-4-13 19:59

const thisType = DATA_ALL.reduce((res, dataMap) => {
    const workType = dataMap._id.workType;
    if(!res.includes(workType)){
      res.push(workType);
    }

    return res;
}, []);

console.log(thisType);

看给的代码的意思应该是这样吧

asins 发表于 2021-4-13 20:00

看看天空 发表于 2021-4-13 19:55
用 filter 可以

楼主要的是多个workType组成的Array数据,光用filter不行,改用reduce是可以的。

cqwcns 发表于 2021-4-13 20:11

asins 发表于 2021-4-13 19:59
const thisType = DATA_ALL.reduce((res, dataMap) => {
    const workTyp ...

确实实现了,我研究一下,谢谢大佬

莫里亚蒂 发表于 2021-4-13 20:38

本帖最后由 莫里亚蒂 于 2021-4-13 20:41 编辑

把最后的数组new set一下。[...new Set(thisType)]
页: [1]
查看完整版本: JS map函数获得非重复的值