Skip to content

Commit 181a81e

Browse files
committed
refactor: demo ie11 polyfill added
1 parent 3b04ec8 commit 181a81e

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

demo/src/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react';
22
import ReactDOM from 'react-dom';
33
import App from './App';
44
// import registerServiceWorker from './registerServiceWorker';
5+
import './polyfill'
56

67
ReactDOM.render(<App />, document.querySelector('#demo'))
78
// ReactDOM.render(<App />, document.getElementById('root'));

demo/src/polyfill.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// IE11 polyfills
2+
3+
if (!Array.prototype.find) {
4+
Array.prototype.find = function(predicate) {
5+
if (this == null) {
6+
throw new TypeError('Array.prototype.find called on null or undefined');
7+
}
8+
if (typeof predicate !== 'function') {
9+
throw new TypeError('predicate must be a function');
10+
}
11+
const list = Object(this);
12+
const length = list.length >>> 0;
13+
const thisArg = arguments[1];
14+
let value;
15+
16+
for (let i = 0; i < length; i++) {
17+
value = list[i];
18+
if (predicate.call(thisArg, value, i, list)) {
19+
return value;
20+
}
21+
}
22+
return undefined;
23+
};
24+
}

0 commit comments

Comments
 (0)