小编Val*_*rie的帖子

测试数组索引是否等于数组值

当数组中的值与索引相同时,代码将返回数组中的最低索引.如果没有匹配,我应该返回-1.例如:

indexEqualsValue([-8,0,2,5])
output: 2 //array[2] == 2

indexEqualsValue([-1,0,3,6])
output: -1  //no matches
Run Code Online (Sandbox Code Playgroud)

当没有匹配或者数组的长度为零时,代码可以工作,但在其他时候则不行.我认为问题是我的if语句中的第一个条件.我不一定想要一个答案,更多关于我应该检查/重写的提示.

谢谢!

function indexEqualsValue(a) {
    return a.reduce((acc, currV, currI) => {
      if (currI === currV) {
        return currV;
      }
      return -1;
  }, 0);
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays reduce undefined

9
推荐指数
1
解决办法
314
查看次数

正则表达式:数组匹配

我需要一个正则表达式来匹配下面的数字数组,这些数字可以嵌​​套.这些应该通过:

[]
[1, 2, 3]
[1, 2, 3, [1,2,3], 5]
Run Code Online (Sandbox Code Playgroud)

但以下应该不通过测试:

abc 
1
[1,2,3
[#]
Run Code Online (Sandbox Code Playgroud)

这有效:

/(^\[)(\d+\,|\s(?:(|\,))|\d+|\s\[|\]\,)*(\]$)/g
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来实现相同的结果.我试过前瞻但不完全理解它并且无法使它工作.

javascript regex

2
推荐指数
1
解决办法
56
查看次数

标签 统计

javascript ×2

arrays ×1

reduce ×1

regex ×1

undefined ×1