Ux.elementFind

根据filters从数组中找匹配的元素,返回值为一个Array

源代码:

// Ux.Type.js
const elementFind = (data = [], filters) => {
    Dg.ensureType(data, U.isArray, "Array");
    let reference = data;
    if (filters) {
        for (const field in filters) {
            if (filters.hasOwnProperty(field)) {
                // 这里用双等号匹配,用于检查字符串和数值的比较
                reference = reference.filter(
                    item => item[field] == filters[field]
                );
            }
        }
    }
    return reference;
};

基本规则

  • data为一个JavaScript钟的数组;
  • 如果不传filters(undefined === filters),则返回原始Array数组;
  • filters有多个时会层层过滤,过滤时的基本过滤条件使用双等号,不匹配类型(71 == "71"这种也可);
  • 最终返回查找到的Array元素;

示例:

elementFindDatum: (reference, key, filters) =>
        elementFind(Prop.onDatum(reference, key), filters),

results matching ""

    No results matching ""