根据打字稿中的“in”条件过滤数组元素

时间:2018-03-21 22:38:19

标签: javascript angular typescript

我有一个arrayList,其中包含employeeeeame,grade,designation等员工信息。我的视图中有一个多选组件,一旦我们从多选下拉列表中选择[1,2,3]grade1grade2,就会返回一系列等级grade3。有没有办法根据这些等级数组过滤我的员工?类似这样:

this.employeeList.filter(x=> x.grade in (grade1,grade2,grade3));

或者还有其他方法可以实现这一目标吗?基本上我需要根据多选值过滤我的员工。请建议因为我是打字稿的新手。  非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

当您处理常规变量时,您可以将它们包装到其他数组`timescale 1ns / 1ps module poly ( clk, q, result ); input clk; input [31:0] q; //user input output [31:0] result; reg [31:0] c,c0,c1,c2,c3,c4; reg [31:0] p, p0, p1, p2, p3, p4, p5, p6,p7,p8,p9,p10,p11,p12; always @(q) if (q>=32'h08000000 && q<32'h0A000000) begin c <= 32'h058B90C0; c0 <= 32'h74599F60; c1 <= 32'h79481740; c2 <= 32'h445B7440; c3 <= 32'h5AF892E0; c4 <= 32'h9E2C2258; end else if (q>=32'h0A000000 && q<32'h0C000000) begin c <= 32'h258B90C0; c0 <= 32'hFB942240; c1 <= 32'h21558EC0; c2 <= 32'h5D882000; c3 <= 32'h75F846E8; c4 <= 32'hF48F5786; end wire [31:0] x0,x1,x2,x3,x4; wire [31:0] y0,y1,y2,y3,y4; multiplier m4 (.i_multiplicand(q),.i_multiplier(c4),.o_result(x4)); assign = x4; adder a4 (.a(p0),.b(c3),.c(y4)); assign p1 = y4; assign p2 = q; multiplier m3 (.i_multiplicand(p2),.i_multiplier(p1),.o_result(x3)); assign p3 = x3; adder a3 (.a(p3),.b(c2),.c(y3)); assign p4 = y3; assign p5 = q; multiplier m2 (.i_multiplicand(p5),.i_multiplier(p4),.o_result(x2)); assign p6 = x2; adder a2 (.a(p6),.b(c1),.c(y2)); assign p7 = y2; assign p8 = q; multiplier m1 (.i_multiplicand(p8),.i_multiplier(p7),.o_result(x1)); assign p9 = x1; adder a1 (.a(p9),.b(c0),.c(y1)); assign p10 = y1; assign p11 = q; adder a0 (.a(p10),.b(p11),.c(y0)); assign p12 = y0; multiplier m0 (.i_multiplicand(p12),.i_multiplier(c),.o_result(x0)); assign result = x0; endmodule 中并使用[var1, var2, ...]进行检查:

includes()

答案 1 :(得分:0)

我只是使用类似的东西:

x => [grade1,grade2,grade3].indexOf(x) != -1