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

TypeScript中列表元素顺序检查逻辑实现需求

列表元素位置检查实现方案

需求

给定列表 empList = ['one','two','finish','one','three'],需要完成以下检查:

  • 当'two'在'finish'前面时,把this.beforeCheckFlag设为true
  • 当'two'在'finish'后面时,把this.afterCheckFlag设为true

实现代码

直接通过索引比较就能实现,以JavaScript为例:

// 先初始化两个标记为false
this.beforeCheckFlag = false;
this.afterCheckFlag = false;

const empList = ['one','two','finish','one','three'];
const twoPos = empList.indexOf('two');
const finishPos = empList.indexOf('finish');

// 确保两个元素都在列表里再做判断
if (twoPos !== -1 && finishPos !== -1) {
    if (twoPos < finishPos) {
        this.beforeCheckFlag = true;
    } else if (twoPos > finishPos) {
        this.afterCheckFlag = true;
    }
    // 如果两个元素位置重合(当前案例不会出现),可自行补充处理逻辑
}

说明

  • 用indexOf()拿到两个元素的位置索引
  • 先判断元素是否存在,避免找不到元素导致的索引为-1的异常
  • 直接比较索引大小就能确定位置关系,进而设置对应的标记

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:25:22