В моей программе есть скрипт, который в конечном итоге вызывает функцию, которая принимает строку и запускает .match(regex)
для этой строки.
Согласно MDN:
String.prototype.match(regex)
возвращает array
тип данных, который мне нужен только для доступа к первому индексу [0]
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match
Во всех случаях, когда я пыталсяорганизовать этот скрипт, я получаю сообщение об ошибке:
"Невозможно получить findStationId(...)[0]
, поскольку в нулевом [1] отсутствует подпись индекса, объявляющая ожидаемый тип ключа / значения."
Организация функции не там, где у меня возникают проблемы, но с индексом [0]
.
Как правильно набирать текст, проверьте это иобъявить ожидаемые значения?
// @flow
type RssResults = Array<{
title: string,
contentSnippet: string
}>
const findStationId = (string: string): Array<any> | null => string.match(/([0-9]{5}|[A-Z\d]{5})/)
export default (rssResults: RssResults) => {
const entries = []
rssResults.forEach((entry) => {
const observation = {}
observation.title = entry.title
const id = findStationId(entry.title)[0] // flow errors here on [0]
observation.id = id.toLowerCase()
// ...
entries.push(observation)
})
return entries
}
.flowconfig
[ignore]
.*/test/*
[include]
[libs]
[lints]
[options]
module.file_ext=.js
module.file_ext=.jsx
module.file_ext=.json
module.file_ext=.css
module.file_ext=.scss
module.name_mapper.extension='css' -> 'empty/object'
module.name_mapper.extension='scss' -> 'empty/object'
[strict]
[untyped]
.*/node_modules/**/.*
Спасибо!