如何通过索引号比较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
相关产品推荐
相关产品推荐

