Javascript &引用;对象没有';t支持属性或方法';查找'&引用;在IE11中使用Babel和Webpack

Javascript &引用;对象没有';t支持属性或方法';查找'&引用;在IE11中使用Babel和Webpack,javascript,reactjs,webpack,internet-explorer-11,babeljs,Javascript,Reactjs,Webpack,Internet Explorer 11,Babeljs,我在IE11中使用Webpack和Babel时出现了一些奇怪的行为。当前出现的问题是以下错误消息: SCRIPT438:对象不支持属性或方法“find” 这只发生在InternetExplorer中,奇怪的是,在本地运行代码时不会发生,只有在代码已发布时才会发生 const getColumnByName = (columns, columnName) => { return columns.find((col) => col.Name === columnName);

我在IE11中使用Webpack和Babel时出现了一些奇怪的行为。当前出现的问题是以下错误消息:

SCRIPT438:对象不支持属性或方法“find”

这只发生在InternetExplorer中,奇怪的是,在本地运行代码时不会发生,只有在代码已发布时才会发生

const getColumnByName = (columns, columnName) => {   
    return columns.find((col) => col.Name === columnName);
}
通过使用断点,我可以看到代码调用了
列。在传递对象数组之前,使用空数组查找
三次。只有在第四次抛出错误时。在IE控制台中,我可以在上述函数中运行以下代码行,以进一步隔离问题

Array.isArray(columns)
#=> true

Array.prototype.find
#=> function (predicate) { ...

[1,2,3].find(function(el){return el === 2})
#=> 2

columns.length
#=> 17

columns.find(function(e){return true})
#=> Object doesn't support property or method 'find'
对我来说都很奇怪

下面是我的webpack.config文件,以备参考

/// <binding ProjectOpened='Watch - Development' />

module.exports = {
  entry: [
    'babel-polyfill',
    './Scripts/App.js',
    ],
  output: {
    filename: 'Scripts/ReactBundle/bundle.js'
  },
  resolve: {
    extensions: ['.Webpack.js', '.web.js', '.js', '.jsx'],
    mainFields: ["main"]
  },
  module: {
      rules: [
        {
            test: /\.css$/,
            use: [ 'style-loader', 'css-loader' ]
        },
        {
            test: /\.js$/,
            exclude: /(node_modules|bower_components)/,
            loader: 'babel-loader',               
            query:
                  {
                      presets: ['react', 'es2017', 'es2015', 'stage-2'],
                      plugins: ['transform-class-properties']
                  }
        },
      ]
  },  
}
//
module.exports={
条目:[
“babel polyfill”,
“./Scripts/App.js”,
],
输出:{
文件名:“Scripts/ReactBundle/bundle.js”
},
决心:{
扩展名:['.Webpack.js'、'.web.js'、'.js'、'.jsx'],
主字段:[“主”]
},
模块:{
规则:[
{
测试:/\.css$/,,
用法:['样式加载器','css加载器']
},
{
测试:/\.js$/,,
排除:/(节点模块|鲍尔组件)/,
加载器:“巴别塔加载器”,
查询:
{
预设:[“反应”、“es2017”、“es2015”、“第二阶段”],
插件:['transform-class-properties']
}
},
]
},  
}

提前感谢您的帮助或输入。

是否可能
可能是某个浏览器中不包含
find
方法但包含
length
属性的类型或其他内容。您能告诉我们定义
变量的部分吗

如果是这样,您可以使用
array.from(列)将其转换为数组