Обратите внимание на сообщение об ошибке внизу: "config.ts(19,28): ошибка TS2339: свойство" find "не существует в типе" Ответ [] ". Я думал, что все массивы будут иметь метод "найти".
Я уверен, что у меня что-то не хватает!
Обратите внимание на сообщение об ошибке внизу: "config.ts(19,28): ошибка TS2339: свойство" find "не существует в типе" Ответ [] ". Я думал, что все массивы будут иметь метод "найти".
Я уверен, что у меня что-то не хватает!
Начиная с TypScript 2.0 вы также можете использовать флаг компилятора --lib
или раздел "lib": []
в файле tsconfig.js
чтобы включить функции ES6
, но все еще нацеливаясь на ES5
. См. Https://github.com/Microsoft/TypeScript/issues/6974
В этом случае просто tsconfig.js
следующие параметры конфигурации в tsconfig.js
:
...
"lib": [ "es6" ],
"target": "es5"
...
Просто для следующего человека, который приходит на эту страницу, и находит, что другие ответы не работают или запутываются:
Добавьте это в файл tsconfig.json
:
"compilerOptions": {
"lib": [
"es6"
],
"target": "es5"
}
Как говорилось ранее, функция find
действительно является частью ES6.
Мы исправили его, используя filter
и взяв первый элемент результирующего массива.
с "lib": ["es6"] Я получаю больше ошибок, меньше с ["es2017", "dom"]:
"compilerOptions": {
"module": "es6",
"lib": [ "es2017", "dom" ]
...............
}
И он решает проблему с [].find()
Итак... Если вы используете TypScript, вы можете использовать Array.prototype.find(), потому что Bookscript - это надмножество javascript. НО, потому что вы "компилируете" на ES5, вы получаете ошибку, потому что поиск метода является частью ES6 (ES2015), но не ES5.
Мне потребовалось некоторое время, чтобы понять этот очевидный факт. Это не ваш машинописный текст, а то, к чему вы стремитесь.
Просто завершение всех других ответов. Создайте tsconfig.json
в корневом каталоге вашего проекта и убедитесь, что у вас есть это в вашей конфигурации:
{
... (other configs)
"compilerOptions": {
"lib": [ "es2017", "dom" ],
"target": "es5"
}
... (other configs)
}
Я думаю, ответ был включен в комментарий kkaosninja: find является частью es6, и я все еще на es5: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/найти