#はじめに
Javascript初学者がlodashのeach関数を作ってみました。
未対応edge caseも多々あると思いますがご了承ください。
#lodashとは?
JavaScriptの便利な関数を提供しているライブラリです。
詳しくは公式ドキュメントをご覧ください。
#_.each
配列の組み込みメソッドforEachをオブジェクトに拡張したものです。
以下の2つを引数にとります。
-
collection:
対象となる配列またはオブジェクトです。 -
iteratee:
collectionの各要素に実行するcallback関数です。
配列の場合、要素(value)・インデックス(index)・配列自身(collection)を引数にとります。
オブジェクトの場合、キー(key)・値(value)・オブジェクト自身(collection)を引数にとります。
_each
_.each = (collection, iteratee) => {
//collectionが配列の場合
if (Array.isArray(collection)){
for (let index = 0; index < collection.length; index++){
let value = collection[index];
iteratee(value,index,collection);
};
// collectionがオブジェクトの場合
}else{
for (const key in collection){
let value = collection[key];
iteratee(value,key,collection);
}
}
};