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

如何过滤JavaScript数组中可被其他元素整除的较大元素?

JavaScript数组过滤实现

现有数组:

let x = [ 2, 3, 4, 6, 5 ];

需要过滤得到:

let x = [ 2, 3, 5 ];

过滤规则:如果数组中的某个元素大于其他任意一个元素,且能被该元素整除(排除自身),则移除这个元素。比如6能被2和3整除、4能被2整除,所以这两个元素都会被移除。

实现代码

let x = [2, 3, 4, 6, 5];
const filteredArray = x.filter(item => {
  // 检查是否存在满足条件的其他元素
  return !x.some(num => num !== item && item > num && item % num === 0);
});

console.log(filteredArray); // 输出: [2, 3, 5]

代码解释

  • 使用filter方法遍历原数组,筛选出符合要求的元素
  • some方法用于判断是否存在一个符合条件的元素:
    1. num !== item:排除元素自身
    2. item > num:当前元素要大于这个元素
    3. item % num === 0:当前元素能被这个元素整除
  • 对some的结果取反,意味着只要存在满足条件的元素,当前元素就会被过滤掉,否则保留

内容的提问来源于stack exchange,提问作者edinvnode

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 09:33:25