我正在使用Babel来转换我的ES2015代码。但是它并没有为数组翻译find
。以下行引发错误TypeError: options.find is not a function
let options = [2,23,4]
options.find(options, x => x < 10)
答案 0 :(得分:18)
使用babel polyfill。
require("babel/polyfill");
[1, 2, 3].find((x) => x >= 2);
// => 2
请参阅:Polyfill · Babel
或者你可以使用回调。 Array.find(arr, callback)
Array.find([ 1, 2, 3 ], (x) => x >= 2);
// => 2
Array.prototype.find
doesn't work in the runtime · Issue #892 · babel/babel
答案 1 :(得分:3)
或者,如果您已经使用ES6导入
import 'babel/polyfill';
答案 2 :(得分:3)
答案 3 :(得分:0)
如果您只是将JavaScript文件与Gulp或Grunt连接在一起,则可以在脚本文件node_modules/babel-polyfill/dist/polyfill.js
之前添加脚本。
不要忘记安装它:npm i babel-polyfill
。