Object.entries.js 520 B

123456789101112131415161718192021
  1. const reduce = Function.bind.call(Function.call, Array.prototype.reduce),
  2. isEnumerable = Function.bind.call(
  3. Function.call,
  4. Object.prototype.propertyIsEnumerable
  5. ),
  6. concat = Function.bind.call(Function.call, Array.prototype.concat),
  7. keys = Object.keys;
  8. if (!Object.entries) {
  9. Object.entries = function entries(O) {
  10. return reduce(
  11. keys(O),
  12. (e, k) =>
  13. concat(
  14. e,
  15. typeof k === "string" && isEnumerable(O, k) ? [[k, O[k]]] : []
  16. ),
  17. []
  18. );
  19. };
  20. }