【问题标题】:How to get a string containing the word connect from an array with strings?如何从带字符串的数组中获取包含单词 connect 的字符串?
【发布时间】:2023-02-22 01:10:42
【问题描述】:

我有一个这样的数组

const arr = [
  '_ga=GA1.1.399070869.1649559884',
  'origin=s%3ACYm5bKjhAM1mfanrjJ8bqR_CAHffLVzj.MImlJ0gl2DTN%2BwRPmE0ZbQqI3nHwSVDt70DNyEd2Luw',
  'user=Zina',
  'connect.sid=s%3AvNWJDoh08zdqHE1k8P53CoDmLqI87GDO.%2BLdCgtZ%2F5gv%2BjdK1z0FiUoehYauJHCgrz9T2tZYX%2FI4'
]

我不会以任何方式考虑如何接收以“connect”开头的行的索引项。

摆脱像这样的建议

arr[4]

因为这条线可以在任何地方

【问题讨论】:

  • 您是否尝试遍历这些行并测试每一行以查看它是否以“connect”开头?

标签: javascript


【解决方案1】:

您可以将 Array#findIndex(或 Array#find)与 String#startsWith 结合使用。

const arr = [
  '_ga=GA1.1.399070869.1649559884',
  'origin=s%3ACYm5bKjhAM1mfanrjJ8bqR_CAHffLVzj.MImlJ0gl2DTN%2BwRPmE0ZbQqI3nHwSVDt70DNyEd2Luw',
  'user=Zina',
  'connect.sid=s%3AvNWJDoh08zdqHE1k8P53CoDmLqI87GDO.%2BLdCgtZ%2F5gv%2BjdK1z0FiUoehYauJHCgrz9T2tZYX%2FI4'
];
let idx = arr.findIndex(x => x.startsWith("connect"));
console.log(idx, arr[idx]);

【讨论】:

    【解决方案2】:

    您可以执行过滤器以查找与您要查找的模式相匹配的值。

    这里我在字符串上使用array.filter和startsWith方法。

    const arr = [
      '_ga=GA1.1.399070869.1649559884',
      'origin=s%3ACYm5bKjhAM1mfanrjJ8bqR_CAHffLVzj.MImlJ0gl2DTN%2BwRPmE0ZbQqI3nHwSVDt70DNyEd2Luw',
      'user=Zina',
      'connect.sid=s%3AvNWJDoh08zdqHE1k8P53CoDmLqI87GDO.%2BLdCgtZ%2F5gv%2BjdK1z0FiUoehYauJHCgrz9T2tZYX%2FI4'
    ]
    
    const matches = arr.filter(value => value.startsWith("connect"))
    
    console.log(matches)

    这是否适合您要找的东西?

    【讨论】:

      猜你喜欢
      • 2022-06-27
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-28
      相关资源
      最近更新 更多