Я пытаюсь фильтровать массив в TypeScript, но использую переменную вместо жестко заданного числа. Большинство результатов на Stack Overflow говорят о фильтрации массивов с помощью массивов, но ни в одном из них не говорится об использовании одной переменной.
У меня есть массив объектов этого типа:
class pair {
name: string,
value: number
}
и я хочу чтобы создать функцию, которая фильтрует некоторые из них на основе значения.
myFunction(removeMe: string) {
...
var resultingArray = arrayOfPairObjects.filter(x => x.value === Number(removeMe)); // the cast is necessary, sadly
return resultingArray;
}
Но если я сделаю это, removeMe
будет установлено правильно, однако его значение становится неопределенным , когда фильтр бежит. Понятия не имею, почему, но если я изменю Number(removeMe)
на 2
, он будет работать отлично. Мне просто нужно знать, как заставить переменную работать.
Спасибо!
РЕДАКТИРОВАТЬ: By становится неопределенным, я имею в виду, что я могу записать значение removeMe на консоли в строке непосредственно перед .filter () и его значение правильное (это «1» или «2», независимо от того, что передается), но я получаю сообщение об ошибке в консоли о том, что значение в .filter () не определено. Я думаю, что это, возможно, потеря объема, но я немного новичок в Typescript, поэтому, возможно, есть тонкость, о которой я не знаю.