オブジェクト型のkeyに任意の文字が含まれる物のみを取得する方法 TypeScript
機能説明
以下のようなオブジェクトから
const hoge = {
sample_0_value: 'サンプルだよ',
sample_1_value: 'サンプルだよ1',
test_0_value: 'テストだよ'
};
以下のようなオブジェクトを取得したい
※keyに「sample」が含まれている物のみをオブジェクトで取得したい
const hoge = {
sample_0_value: 'サンプルだよ',
sample_1_value: 'サンプルだよ1',
};
実装方法
以下のように実装することで、getKeyFilterObjectの引数に渡すキーワードが含まれているkeyのみ取得できます。
const hoge = {
sample_0_value: 'サンプルだよ',
sample_1_value: 'サンプルだよ1',
test_0_value: 'テストだよ'
};
const getKeyFilterObject = (keyword: keyof typeof hoge) => {
const filteredObj: Partial<typeof hoge> = {};
Object.keys(hoge).forEach((key) => {
if (key.includes(keyword)) {
filteredObj[key as keyof typeof hoge] = hoge[key as keyof typeof hoge];
}
});
return filteredObj;
};
console.log(getKeyFilterObject("sample"));