小编Jos*_*sey的帖子

GraphQL查询来访问数组中的第一项?

进行了很好的搜索,但似乎找不到任何东西。GraphQL中是否有一种方法只能访问数组中的第一项?

就像是:

query {
  allDBItems {
    edges {
      node {
        exampleArray([0])
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

graphql

6
推荐指数
1
解决办法
2021
查看次数

像`map()`和`reduce()`这样的高阶函数如何接收它们的数据?

我现在正在尝试编写自己的高阶函数,我想知道函数是如何喜欢map()reduce()访问它们所应用于的数组的。而且不仅仅适用于数组,还具有任何更高阶的函数,例如toString()toLowerCase()

array.map()
^^^ // How do I get this data when I am writing my own higher order function?

array.myOwnFunction(/* data??? */)
Run Code Online (Sandbox Code Playgroud)

我希望这是有道理的。我确定答案已经存在,但我一直在努力寻找要查找的信息以查找信息。

javascript

6
推荐指数
2
解决办法
71
查看次数

使用正则表达式对字符串的相同部分进行两次匹配和分组?

用单词来解释这一点非常困难,所以也许我可以展示我想要的东西。

目前,我有以下代码:

  const regex = /(\d?\s\+?\s\d)|(\d?\s\-?\s\d)/g
  const match = '1 + 2 - 7'.match(regex)
  console.log(match)
Run Code Online (Sandbox Code Playgroud)

这将返回两个匹配项:

[ "1 + 2", " - 7" ]
Run Code Online (Sandbox Code Playgroud)

现在,我想知道的是,是否可以创建一个可以匹配整数2两次并将其作为两个结果一部分的正则表达式模式?

所需输出

[ "1 + 2", "2 - 7" ]
Run Code Online (Sandbox Code Playgroud)

javascript regex

3
推荐指数
1
解决办法
44
查看次数

使用RegEx精确查找随机字符串中的字母

这里的重点是确切的单词。这需要适用于任意数量的排列,因此希望我的例子很清楚。

给定一串随机字母,是否可以(使用RegEx)匹配给定字符串内的确切字母数量?

因此,如果我有一个str1包含字母的字符串(),ABZBABJDCDAZ并且想匹配字母JDBBAAstr2),则我的函数应该返回,true因为str1包含所有正确的字母足够多的时间了。然而,如果str1将被改变ABAJDCDA,那么该函数将返回false因为str2需要str1有至少2个字母的实例B

这是我到目前为止使用的范围:

const findLetters = (str1, str2) => {
  const regex = new RegExp(`[${str2}]`, 'g')
  const result = (str1.match(regex))
  console.log(result)
}

findLetters('ABZBABJDCDAZ', 'JDBBAA')
Run Code Online (Sandbox Code Playgroud)

如您所见,它匹配正确的字母,但是匹配它们的所有实例。有什么方法可以使用RegEx做我想做的事情吗?我之所以在此关注RegEx的原因是,我需要高度优化此代码,到目前为止,我的其他函数都使用Array.every()indexOf()太慢了。

注意:我的函数只需要返回一个true/false值。

javascript regex string algorithm

3
推荐指数
1
解决办法
48
查看次数

标签 统计

javascript ×3

regex ×2

algorithm ×1

graphql ×1

string ×1