首页 > 解决方案 > jQuery/Javascript 显示结果

问题描述

这是使用该线程的 javascript/jQuery 重写的新问题,因为我无法在 MySQL 直接查询中执行此操作。

MySQL 选择 id from to 并排除开始和结束 id

所以问题很简单:

我有从 MySQL 查询接收到 javascript 数组的数组:

var array = ["m2", "1", "2", "11", "12", "m4", "m3", "m5", "17", "m1"];

并且需要从要显示的数组值中接受参数的函数。例如:

function showCategories(marker){

}

所以在上面的例子中,如果我打电话showCategories("m2");我需要得到这个:

1
2
11
12

如果我打电话showCategories("m5");,我需要得到这个:

17

我目前正在尝试 substr 并在第一个示例中找到开始“m2”的索引并找到最后一个 m 索引(即 m4)并从数组中删除其他项目..有简单的方法吗?

标签: javascriptjqueryarrayssubstr

解决方案


找到标记的索引,对其后的所有内容进行切片,然后在该数组中找到第一个“m”索引并对其进行切片。剩下的就是中间的数字。

var array = ["m2", "1", "2", "11", "12", "m4", "m3", "m5", "17", "m1"];

function showCategories(marker){
  let start = array.indexOf(marker);
  if (start === -1) return [];
  
  let slicedArray = array.slice(start + 1);
  let end = slicedArray.findIndex(val => val.startsWith("m"));
  return slicedArray.slice(0, end);
}

console.log(showCategories("m2"));
console.log(showCategories("m5"));


推荐阅读