Lodashの備忘録

2020/02/15

Lodash とは?

便利関数をまとめた JavaScript ライブラリです。 配列処理や単なる値の操作だけでなく、イベント処理を制限したりなど様々な関数があります。 ドキュメントを眺めていると面白い関数がたくさんあったので、気になった関数たちを紹介していきます。

_xor

  • 配列の同じ値をまとめて、新しい配列を返す
const arr2 = [2, 3, 4, 4];
const arr = [...arr2];

const _arr = _.xor(arr);

console.log(_arr);
// [2,3,4]

_has

  • 引数に渡したオブジェクトのキーを検索し、キーが存在すれば true を返す
var object = {a: {b: 2}};
_.has(object, 'a');
// => true

_sortBy

  • 第一引数に対象の配列、第二引数にソートしたい key 名

faker.js というダミーデータを作成してくれるライブラリを使用しています。

const targets: any[] = [];

for (let i = 1; i < 1500; i++) {
  targets.push({
    name: faker.company.companyName(),
    owner: faker.name.firstName(),
  });
}
const res = _.sortBy(targets, ['name', 'owner']);

console.log(res);
// name,ownerの昇順で並び替えられる

_compact

  • falsyな値を取り除き、新しい配列を返す
const target = [0, 1, false, 2, '', 3];
const res = _.compact(target);

console.log(res);

// [1,2,3]

_flatten

  • 入れ子の配列を一階層なくす
const target = [['hello'], 'world'];
const res = _.flatten(target);

console.log(target);

// ["hello", "world"]

_pull

  • 第一引数に対象の配列、第二引数に取り除きたい値を渡し、配列を返す
for (let i = 1; i < 10; i++) {
  targets.push('トマト');
}

const _res = _.pull(targets, 'トマト');

console.log(_res);

// []