首页 > 解决方案 > 过滤值列表

问题描述

我需要过滤一些固定值(885,900,915,930,945),我可以这样做:

filteredData = data.options.filter(item => item.foo === 'CALL' && (item.bar === 885 || item.bar === 900 || item.bar === 915 || item.bar === 930 || item.bar === 945));

但这感觉像是一个丑陋的解决方案。我想做的是:

const barConst = 885 || 900 || 915 || 930 || 945;
filteredData = data.options.filter(item => item.foo === 'CALL' && (item.bar === barConst);

但这显然行不通。我可以在 Javascript/node 中执行此操作的任何巧妙方法吗?

标签: javascriptnode.js

解决方案


您可以获取一个数组并使用Array#includes.

const
    barConst = [885, 900, 915, 930, 945],
    filteredData = data.options.filter(
        ({ foo, bar }) => foo === 'CALL' && barConst.includes(bar)
    );

推荐阅读