如何使用过滤器设置过滤阵列?

时间:2018-10-13 21:40:59

标签: javascript arrays dictionary filter

我被数组,对象和过滤器所困扰。我有以下代码,我想用我的过滤器设置过滤(数组)列表。然后用它做点什么。我正在使用React作为框架。但是我认为这是纯Javascript。

我的方向正确吗?

Enter number of rows of pins: 10
                 *
        * * 
       * * * 
      * * * * 
     * * * * * 
    * * * * * * 
   * * * * * * * 
  * * * * * * * * 
 * * * * * * * * * 
* * * * * * * * * * 

3 个答案:

答案 0 :(得分:1)

如果使filterSettings键与标志值相对应,则可以仅使用filterSettings值(布尔值)作为过滤器的测试:

let filterSettings = { a: false, b: true, c: true};
let list = [
    {flag: 'a', txt: 'some text1'},
    {flag: 'a', txt: 'some text2'},
    {flag: 'b', txt: 'some text3'},
    {flag: 'b', txt: 'some text4'},
    {flag: 'c', txt: 'some text5'},
    {flag: 'c', txt: 'some text6'},
] 

let filtered = list.filter( item => filterSettings[item.flag]) // filterSettings[item.flag] will be a boolean
console.log(filtered)

答案 1 :(得分:0)

创建3个变量a,b,c来处理这三种情况,然后使用filter()

&rest

要获取最终结果,请使用.length属性检查哪个大于0

func1

答案 2 :(得分:0)

您可以使用函数Array.prototype.filter过滤特定对象,并使用函数Array.prototype.forEach循环过滤数组。

我假设您不知道函数Array.prototype.map及其用途,因为您使用的方式将返回带有未定义值的数组

/**********************************************************************                                                                  
* Get the difference                                                                                                                    
**********************************************************************/
double actualDifference()
{
    double actualDifference = getIncome - (getActualTaxesWithheld
       + getActualTitheOfferings + getActualLivingExpenses
                                           + getActualOtherExpenses);
}
/**********************************************************************                                                                  
* Display all the variables                                                                                                             
**********************************************************************/
int getDisplay()
{
    double income = getIncome();
    double budgetedLivingExpenses = getBudgetedLiving();
    double actualLivingExpenses = getActualLivingExpenses();
    double actualTaxesWithheld = getActualTaxesWithheld();
    double actualTitheOfferings = getActualTitheOfferings();
    double actualOtherExpenses = getActualOtherExpenses();
    double actualDifference;
    double zero = 0;
const filterSettings = { a: false, b: true, c: true},
      list = [    {flag: 'a', txt: 'some text1'},    {flag: 'a', txt: 'some text2'},    {flag: 'b', txt: 'some text3'},    {flag: 'b', txt: 'some text4'},    {flag: 'c', txt: 'some text5'},    {flag: 'c', txt: 'some text6'}],
      handler = ({flag}) => filterSettings[flag];

list.filter(handler).forEach(item=> console.log(item))