小编cl3*_*l3m的帖子

当对象键值在数组中时如何过滤数组

我有一个数组模型如下:

records:[{
    "empid":1,
    "fname": "X",
    "lname": "Y"
},
{
    "empid":2,
    "fname": "A",
    "lname": "Y"
},
{
    "empid":3,
    "fname": "B",
    "lname": "Y"
},
{
    "empid":4,
    "fname": "C",
    "lname": "Y"
},
{
    "empid":5,
    "fname": "C",
    "lname": "Y"
}
]
Run Code Online (Sandbox Code Playgroud)

现在我有一系列的empid [1,4,5].

所以现在我需要过滤包含我第二个中所有键的第一个数组.

输出:

records:[{
    "empid":1,
    "fname": "X",
    "lname": "Y"
},
{
    "empid":4,
    "fname": "C",
    "lname": "Y"
},
{
    "empid":5,
    "fname": "C",
    "lname": "Y"
}
]
Run Code Online (Sandbox Code Playgroud)

我可以使用forEach循环进行此操作,angular但因为我的模型对象中有超过100条记录.我需要一个关于如何更好地处理这个问题的建议.

我正在考虑创建一个自定义过滤器,但你对它有何看法.(如果是,请提供示例代码来实现此目的).

您的帮助得到了认可.

谢谢.

javascript angularjs angular-filters

17
推荐指数
2
解决办法
6万
查看次数

Rails:基于模块/关注内的父类名动态定义类方法

我想基于包含此Mixin的类名在Mixin中动态生成类方法.

这是我目前的代码:

module MyModule  
  extend ActiveSupport::Concern  

  # def some_methods  
  #   ...  
  # end  

  module ClassMethods  

    # Here is where I'm stuck...
    define_method "#{self.name.downcase}_status" do  
      # do something...  
    end  

  end  
end  

class MyClass < ActiveRecord::Base  
  include MyModule  
end  

# What I'm trying to achieve:
MyClass.myclass_status
Run Code Online (Sandbox Code Playgroud)

但这给了我以下方法名称:

MyClass.mymodule::classmethods_status  
Run Code Online (Sandbox Code Playgroud)

获取方法定义中的基类名称(self,self.name ...),但我无法使其适用于方法名称...

到目前为止,我已经尝试过了

define_method "#{self}"
define_method "#{self.name"
define_method "#{self.class}"
define_method "#{self.class.name}"
define_method "#{self.model_name}"
define_method "#{self.parent.name}"
Run Code Online (Sandbox Code Playgroud)

但这似乎没有做到这一点:/

有什么方法可以检索基类名称(不知道该怎么称为包含我的模块的类).我几个小时以来一直在努力解决这个问题,我似乎无法找到一个干净的解决方案:(

谢谢!

ruby module metaprogramming ruby-on-rails mixins

11
推荐指数
2
解决办法
7861
查看次数

在Firefox中隐藏alt标签

根据默认行为,alt属性在图像渲染之前第一次呈现.我在网格中显示25个图像,因为它alt首先显示所有属性,看起来有点尴尬.

是否可以alt在Firefox中隐藏属性?

注意: alt在我的情况下,属性包含动态名称.

html firefox attributes hide alt

8
推荐指数
3
解决办法
1万
查看次数