Привет. В настоящее время я работаю над проектом javascript, хотя столкнулся с проблемой, я не знаю, как проверить, является ли что-то частью строки. Я знаю, что вы не понимаете, что это значит, но приведу пример того, как вы могли бы сделать это в python.
if "a" in "abc":
print("a")
Как вы делаете это в js, кто-нибудь может мне сказать? Заранее спасибо.
Вы не представляете, сколько времени я трачу, пытаясь понять это
@ScottMarcus Modern JS теперь имеет .includes().
.includes является более близким эквивалентом и короче. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
@Ouroborus Хорошо, но это на 2 символа короче. Не сокрушая землю.
@ScottMarcus Не уверен, с чем это связано. Вместо этого вы отбрасываете возвращаемое значение и сравнение. Ничего страшного, если вы используете его только один раз, но полезно знать об этом для более крупных задач.
Спасибо всем, что подсказали мне, как решить мою проблему
@Ouroborus Те же операции выполняются внутри компании includes()
. Он просто абстрагируется от вызова метода, поэтому вы ничего не экономите на производительности, как вы думаете. Я ответил о персонажах, потому что вы сказали, что это короче.
@ScottMarcus Конечно, но разница может заключаться в том, что абстракция находится в более быстрой реализации. Тестирование производительности выявит разницу, если таковая имеется. Кроме того, я не говорил, что он был короче, это был кто-то другой.
@Ouroborus Моя ошибка. Имелось в виду для Дэвида Ф.
@ScottMarcus Я изучал это. Получается, как вы говорите, разница в производительности незначительна даже для больших задач. Настоящая разница в их поведении. .indexof(...) >= 0
не отвечает так же, как .includes(...)
.
if ("abc".includes("a")) console.info("a")
if ("abc".indexOf("a") > -1){...}