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

如何通过索引号比较JavaScript数组中元素与其前后相邻项?

数组项前后比较实现方案

数组的索引从0开始计数,你提供的示例数组中,索引0对应元素A、索引1对应元素B、索引2对应元素C,直接通过索引取值即可在if语句中完成比较。

const arr = [
  {
    name: "A",
    marks: 20,
  },
  {
    name: "B",
    marks: 25,
  },
  {
    name: "C",
    marks: 30,
  },
];

场景1:固定比较B和A/C

比较B和A

if (arr[1].marks > arr[0].marks) {
  // B分数更高的自定义逻辑
  console.log('B的分数高于A');
}

比较B和C

if (arr[1].marks < arr[2].marks) {
  // B分数更低的自定义逻辑
  console.log('B的分数低于C');
}

场景2:遍历数组时动态比较每个元素和前后项

需要增加边界判断,避免数组越界报错:

for (let i = 0; i < arr.length; i++) {
  const currentItem = arr[i];
  // 存在前一项时,和前一项比较
  if (i > 0) {
    const prevItem = arr[i - 1];
    // 自定义比较逻辑,示例:判断当前项分数是否高于前一项
    if (currentItem.marks > prevItem.marks) {
      console.log(`${currentItem.name}分数高于${prevItem.name}`);
    }
  }
  // 存在后一项时,和后一项比较
  if (i < arr.length - 1) {
    const nextItem = arr[i + 1];
    // 自定义比较逻辑,示例:判断当前项分数是否低于后一项
    if (currentItem.marks < nextItem.marks) {
      console.log(`${currentItem.name}分数低于${nextItem.name}`);
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:48:02