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

JavaScript/jQuery:合并Split后的数组并去除重复值方案咨询

解决方案

合并数组(对应PHP的array_merge)

原生JavaScript可以直接处理二维数组合并:

  • 若你已经得到二维数组,用Array.flat()一键扁平化:dept_arr.flat()
  • 或者在收集数据时直接展开添加,避免生成二维数组:比如用push(...拆分后的数组),直接把拆分出的单个地点元素加入主数组

去重(对应自定义逻辑的array_filter)

去重有两种常用实现:

  • Set对象法:利用Set自动去重的特性,代码简洁高效:[...new Set(数组)]
  • filter索引判断法:兼容性更好,适合旧版浏览器:数组.filter((item, idx) => 数组.indexOf(item) === idx)

修改后的完整代码

jQuery(document).ready(function($) {
  let get_json = 'https://boards-api.greenhouse.io/v1/boards/frequence/departments/';
  $.getJSON(get_json, function(data) {
    let dept_arr = [];
    $.each(data.departments, function(key, value) {
      if (value.jobs.length > 0) {
        $.each(value.jobs, function(key, job) {
          // 直接展开拆分后的数组,添加到主数组,避免生成二维结构
          dept_arr.push(...job.location.name.split('|'));
        });
      }
    });
    // 去重并输出结果
    let uniqueLocations = [...new Set(dept_arr)];
    console.log(uniqueLocations);
  });
});

兼容旧版浏览器的去重写法

如果需要兼容不支持Set和扩展运算符的环境,替换去重部分代码:

let uniqueLocations = dept_arr.filter(function(item, index) {
  return dept_arr.indexOf(item) === index;
});

内容的提问来源于stack exchange,提问作者Never Stop Learning

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:22:53