Menu
CoddyTech

Duyệt qua mảng

Thuộc phần Nền tảng cơ bản trong hành trình Solidity của Coddy. Bài học 39 trên 53.

Dùng biến đếm của vòng lặp làm chỉ số mảng để xử lý mọi phần tử. Bắt đầu từ 0 và tiếp tục khi biến đếm nhỏ hơn nghiêm ngặt độ dài mảng. Cách này truy cập chỉ số hợp lệ cuối cùng mà không cố truy cập vượt phạm vi.

Các câu lệnh trong đoạn trích này chạy bên trong hàm main được cung cấp.

uint256[3] memory values = [uint256(2), 5, 8];
uint256 total = 0;
for (uint256 i = 0; i < values.length; i++) {
    total += values[i];
}
console.log(total);

Vòng lặp truy cập các chỉ số không, một và hai, rồi cộng lần lượt hai, năm và tám. Điều kiện bao gồm cả hai đầu mút <= length sẽ thử truy cập chỉ số ba rồi hoàn tác. Biến tích lũy cần nằm bên ngoài vòng lặp.

Dùng chỉ số < array.length để truy cập mọi chỉ số hợp lệ mà không vượt quá cuối mảng.

challenge icon

Thử thách

Dễ

Lưu a, b và c vào một mảng bộ nhớ có kích thước cố định. Dùng vòng lặp để tính và in ra tổng của chúng.

Các bài kiểm thử truyền đối số cho main theo thứ tự này: uint256 a, uint256 b, uint256 c. Mỗi bài kiểm thử bắt đầu với trạng thái hợp đồng mới.

Dùng console.log cho đầu ra được yêu cầu. Chỉ in các giá trị được yêu cầu, mỗi giá trị trên một dòng, không thêm nhãn trừ khi đề bài yêu cầu.

Tự làm thử

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 a, uint256 b, uint256 c) external view {
        // Viết lời giải của bạn ở đây.
    }
}
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 Nền tảng cơ bản

Tự luyện tập: Playground Solidity