Menu
CoddyTech

Thay đổi mảng

Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 60 trên 88.

Bây giờ bạn đã biết cách truy cập các phần tử trong mảng, hãy cùng tìm hiểu cách thay đổi chúng. Bạn có thể sửa đổi bất kỳ phần tử nào bằng cách gán giá trị mới cho chỉ số của phần tử đó:

fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits  # Đầu ra: apple, mango, cherry

Để thêm phần tử vào mảng, hãy dùng phương thức push hoặc toán tử xẻng <<. Cả hai đều thêm phần tử vào cuối mảng:

colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors  # In ra: red, blue, green, yellow

Để xóa phần tử, Ruby cung cấp một số lựa chọn. Phương thức pop xóa và trả về phần tử cuối cùng, còn shift xóa phần tử đầu tiên:

numbers = [1, 2, 3, 4]
numbers.pop    # Xóa 4
numbers.shift  # Xóa 1
puts numbers   # In ra: 2, 3

Bạn cũng có thể xóa một giá trị cụ thể bằng delete:

letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters  # Đầu ra: a, c

Lưu ý rằng delete xóa mọi lần xuất hiện của giá trị được chỉ định khỏi mảng.

challenge icon

Thử thách

Dễ

Cho bạn mảng (array) sau:

tasks = ["email", "meeting", "lunch", "report", "call"]

Đọc ba giá trị đầu vào:

  1. Một chỉ số (số nguyên), vị trí cần sửa
  2. Một giá trị mới (chuỗi), giá trị thay thế cho vị trí đó
  3. Một giá trị cần xóa (chuỗi), phần tử cần xóa khỏi mảng

Thực hiện các thao tác sau theo thứ tự:

  1. Thay phần tử tại chỉ số đã cho bằng giá trị mới
  2. Thêm "<code>review" vào cuối mảng bằng push
  3. Thêm "planning" vào cuối mảng bằng toán tử xẻng <<
  4. Xóa phần tử cuối cùng bằng pop
  5. Xóa phần tử đầu tiên bằng shift
  6. Xóa tất cả các lần xuất hiện của giá trị đã chỉ định bằng delete

In ra mảng cuối cùng bằng puts.

Ví dụ, nếu các giá trị đầu vào là 2, break và call, thì đầu ra sẽ là:

meeting
break
report
review

Nếu các giá trị đầu vào là 0, standup và report, thì đầu ra sẽ là:

meeting
lunch
call
review

Nếu các giá trị đầu vào là 4, demo và lunch, thì đầu ra sẽ là:

meeting
report
demo
review

Tự làm thử

# Mảng ban đầu
tasks = ["email", "meeting", "lunch", "report", "call"]

# Đọc dữ liệu đầu vào
index = gets.chomp.to_i
new_value = gets.chomp
value_to_delete = gets.chomp

# TODO: Viết code bên dưới
# 1. Thay phần tử tại chỉ số đã cho bằng giá trị mới
# 2. Dùng push để thêm chính xác đoạn văn bản trong hướng dẫn vào cuối mảng
# 3. Dùng toán tử shovel << để thêm "planning" vào cuối mảng
# 4. Dùng pop để xóa phần tử cuối cùng
# 5. Dùng shift để xóa phần tử đầu tiên
# 6. Dùng delete để xóa mọi phần tử có giá trị đã chỉ định

# In ra mảng cuối cùng
puts tasks
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Ruby online