以下是一个用于匹配数据的通用 JavaScript 函数示例:

function matchData(data, criteria) {
  // 创建一个用于存储匹配结果的数组
  let matches = [];

  // 遍历数据数组
  for (let i = 0; i < data.length; i++) {
    let item = data[i];
    let isMatch = true;

    // 遍历条件对象的属性
    for (let key in criteria) {
      if (item[key] !== criteria[key]) {
        // 如果数据项的属性值与条件不匹配,则设置 isMatch 为 false 并立即跳出内循环
        isMatch = false;
        break;
      }
    }

    // 如果 isMatch 为 true,则将数据项添加到匹配结果数组中
    if (isMatch) {
      matches.push(item);
    }
  }

  // 返回匹配结果数组
  return matches;
}

使用示例:

// 示例数据数组
let data = [
  { name: 'John', age: 25, city: 'New York' },
  { name: 'Jane', age: 30, city: 'San Francisco' },
  { name: 'Bob', age: 35, city: 'New York' }
];

// 示例条件对象
let criteria = {
  age: 30,
  city: 'San Francisco'
};

// 调用 matchData 函数进行数据匹配
let result = matchData(data, criteria);

// 输出匹配结果
console.log(result);

运行以上示例,将输出一个只包含满足条件的数据项的数组:

[
  { name: 'Jane', age: 30, city: 'San Francisco' }
]
``
写个JS通用匹配数据

原文地址: http://www.cveoy.top/t/topic/idbK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录