You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript对象数组提取公司列表及条件筛选实现方法

JavaScript对象数组公司提取与筛选实现

以下实现默认将给出的示例数组存储在常量sourceData中,可直接替换为实际业务数据使用。

1. 提取全量公司列表

通过数组map方法遍历所有记录,直接抽取每条记录fieldData下的Company字段即可,代码如下:

// 存储数据源的常量,可替换为实际业务数据
const sourceData = [/* 对应给出的示例对象数组 */];

// 提取全量公司名列表
const allCompanyList = sourceData.map(item => item.fieldData.Company);

基于示例数据运行后得到的全量公司列表为:

  • Bohnen, Thomas P Esq
  • Monroeville Area Chmbr Commrce
  • Parks Arizona State
  • Shick And Wesley
  • Micro Enterprises

2. 多规则筛选实现

2.1 筛选归属指定城市的公司

通过数组filter方法匹配记录的城市字段,支持按需返回公司名列表或者完整原始记录,代码如下:

/**
 * 按所属城市筛选公司
 * @param {string} targetCity 要匹配的目标城市名称
 * @param {boolean} [needFullRecord=false] 是否返回完整原始记录,默认仅返回匹配的公司名
 * @returns {Array} 筛选结果
 */
function getCompanyByCity(targetCity, needFullRecord = false) {
  const matchList = sourceData.filter(record => record.fieldData.City === targetCity);
  return needFullRecord ? matchList : matchList.map(record => record.fieldData.Company);
}

// 调用示例:筛选归属Nashville的公司
// console.log(getCompanyByCity('Nashville')) // 输出: ["Bohnen, Thomas P Esq"]

2.2 筛选公司名称以"N"开头的公司

通过字符串startsWith方法判断公司名字段的首字符,支持配置是否区分大小写、是否返回完整记录,代码如下:

/**
 * 筛选名称以N开头的公司
 * @param {boolean} [caseSensitive=true] 是否区分大小写,默认严格匹配大写N开头
 * @param {boolean} [needFullRecord=false] 是否返回完整原始记录,默认仅返回匹配的公司名
 * @returns {Array} 筛选结果
 */
function getCompanyStartWithN(caseSensitive = true, needFullRecord = false) {
  const matchList = sourceData.filter(record => {
    const companyName = record.fieldData.Company?.trim();
    if (!companyName) return false;
    return caseSensitive 
      ? companyName.startsWith('N') 
      : companyName.toUpperCase().startsWith('N');
  });
  return needFullRecord ? matchList : matchList.map(record => record.fieldData.Company);
}

// 调用示例
// console.log(getCompanyStartWithN()) // 基于当前示例数据返回空数组,现有样例无N开头的公司名

说明:如果需要同时叠加多个筛选规则,只需要在filter的判断函数中追加对应的判断条件即可。

内容的提问来源于stack exchange,提问作者Philippe Auguste Louis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 18:51:23