ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript インタビューの質問とコード付きの回答
ネストされたオブジェクトをフラット化する
質問 : ネストされた JavaScript オブジェクトをフラット化する関数を作成します。
コード:
function flattenObject(obj, prefix = '', res = {}) { ** for (let key in obj) {** ** const newKey = prefix ? ${prefix}.${key} : key;** ** if (typeof obj[key] === 'object' && obj[key] !== null) {** ** flattenObject(obj[key], newKey, res);** ** } else {** ** res[newKey] = obj[key];** ** }** ** }** ** return res;** } console.log(flattenObject({ a: { b: { c: 1 } }, d: 2 })); // Output: { 'a.b.c': 1, d: 2 }
2.配列内の重複を検索
質問 : 配列内の重複する値を見つける関数を作成します。
コード:
function findDuplicates(arr) { ** const counts = {};** ** return arr.filter(item => counts[item] ? true : (counts[item] = 1, false));** } console.log(findDuplicates([1, 2, 2, 3, 4, 4, 5])); // Output: [2, 4]
3.デバウンスを実装する
質問: 関数が呼び出される頻度を制限するデバウンス関数を作成します。
コード:
function debounce(func, delay) { ** let timer;** ** return function (...args) {** ** clearTimeout(timer);** ** timer = setTimeout(() => func.apply(this, args), delay);** ** };** } const log = debounce(() => console.log('Logged after 1s'), 1000); log();
4.文字列を再帰的に反転します
質問 : 文字列を反転する再帰関数を作成します。
コード:
function reverseString(str) { ** if (str === "") return "";** ** return reverseString(str.slice(1)) + str[0];** } console.log(reverseString("hello")); // Output: "olleh"
5.回文をチェック
質問 : 文字列が回文であるかどうかを確認する関数を作成します。
コード:
function isPalindrome(str) { ** const cleaned = str.toLowerCase().replace(/[^a-z]/g, '');** ** return cleaned === cleaned.split('').reverse().join('');** } console.log(isPalindrome("A man, a plan, a canal, Panama")); // Output: true
続きを読む... ⇲
JavaScript インタビューの質問とコード付きの回答
インタビューの質問と回答をコードで応答する
角度のあるインタビューの質問
CSS インタビューの質問とその回答およびコード
以上がJavaScript インタビューの質問とコード付きの回答の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。