如何使匹配函数也适用于数值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使匹配函数也适用于数值相关的知识,希望对你有一定的参考价值。

我编写了以下代码来复制值。

valueName.forEach((item, idx) => {
      if (item.match(selectedName)) {
          let number = item.split('_').pop();
          if (Number(number) > count)
              count = Number(number) + 1;
          else
              count++;
      }
 });
 selectedName = selectedName + "_" + count;

对于selectedName的字符串值(如abc,测试等)工作正常。但是,如果用户输入数字值(如1、2等),则出现item.match is not a function错误。谁能帮我这个忙。在此先感谢..

答案

您可以在String循环中使用它们之前将其转换为forEach

这里是示例代码:

selectedName = selectedName.toString();

valueName.map(String).forEach((item, idx) => {
      if (item.match(selectedName)) {
          let number = item.split('_').pop();
          if (Number(number) > count)
              count = Number(number) + 1;
          else
              count++;
      }
 });
 selectedName = selectedName + "_" + count;

以上是关于如何使匹配函数也适用于数值的主要内容,如果未能解决你的问题,请参考以下文章

如何使 <CSS 过渡> 适用于 external-svg-sprites 和 css-variable?

在 Makefile 中,如何使通配符函数适用于 VPATH 变量设置的所有路径中的文件

如何使此代码适用于更大的数字?

PostgreSQL:重用适用于虚拟表数据的函数代码

代码适用于与单个 html 文件不同的堆栈片段

Rails:旧数据与新数据不匹配时如何更新片段缓存