Câu hỏi phỏng vấn Javascript
Câu hỏi

Kết quả đoạn result của đoạn code sau là gì? Hãy giải thích tại sao?

Câu trả lời

javascript Copy
  function addToList(item, list) {
    return list.push(item);
  }

  const result = addToList("apple", ["banana"]);
  console.log(result);
  • A: ['apple', 'banana']
  • B: 2
  • C: true
  • D: undefined

Đáp án: B

Hàm .push() trả về độ dài của mảng mới! Trước đó, mảng chỉ hồm một phần tử là "banana" và có độ dài là 1. Sau khi thêm chuỗi "apple" vào mảng, mảng lúc này có hai chuỗi và có độ dài là 2. Do đó hàm addToList sẽ trả về 2.

Hàm push sẽ thay đổi chính bản thân mảng truyền vào. Do đó nếu chúng ta muốn trả về mảng thay vì chỉ trả về độ dài, chúng ta nên trả về trực tiếp mảng list sau khi đã thêm item vào đó.

junior

junior

Gợi ý câu hỏi phỏng vấn

middle

Kết quả đoạn code sau là gì? Hãy giải thích tại sao?

senior

Temporal Dead Zone trong Javascript là gì?

senior

Làm thế nào để ngăn chặn Callback Hell mà không sử dụng promises, async hoặc generators?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào