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);
// []