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

问题描述 投票:0回答:1

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

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错误。谁能帮我这个忙。在此先感谢..

javascript arrays foreach
1个回答
0
投票

您可以在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;
© www.soinside.com 2019 - 2024. All rights reserved.