DEV Community

Discussion on: Utils for JavaScript - what do you use regularly?

Collapse
 
vonheikemen profile image
Heiker

map and filter for objects. I've done this a couple of times.

const Obj = {
  map(fn, data) {
    let result = {};
    for (let [key, value] of Object.entries(data)) {
      result[key] = fn(value, key, data);
    }

    return result;
  },
  filter(fn, data) {
    let result = {};
    for (let [key, value] of Object.entries(data)) {
      if(fn(value, key, data)) {
        result[key] = value;
      }
    }

    return result;
  }
};

I've also used a "better" typeof.

function what_is(arg) {
  const is = Object.prototype.toString.call(arg);

  return {
    val: () => is,
    object: () => is == '[object Object]',
    array: () => is == '[object Array]',
    promise: () => is == '[object Promise]',
    undefined: () => is == '[object Undefined]',
    null: () => is == '[object Null]',
    number: () => is == '[object Number]',
    func: () => is == '[object Function]'
  };
}