Khám phá
Trả lời
Hỏi
Đăng nhập

Làm sao để xoá một phần tử trong mảng - javascript

Mình có một mảng

var names = ["Hà", "Thiên", "Lộc", "Hợi"]

Làm sao để xoá phần tử "Thiên" trong mảng này bằng javascript?

  1. Bạn sẽ nhìn thấy những mũi tên trong mỗi trang câu hỏi. Chúng cho phép bạn bỏ phiếu thuận / bỏ phiếu chống theo sự liên quan của các câu hỏi / trả lời.
  2. Chỉnh sửa câu hỏi của bạn / câu trả lời nếu bạn muốn thay đổi hoặc cập nhật nó.
  3. Nếu bạn không hiểu điều gì đó về câu hỏi, để lại nhận xét hỏi. Những vùng cho câu trả lời chỉ được sử dụng cho câu trả lời.
  4. Nếu tác giả của một câu hỏi đánh dấu một câu trả lời như giải pháp, nhãn hiệu này sẽ được hiển thị.
  5. Nhấn vào đây để xem thêm chi tiết về những hoạt động của hệ thống!

1 trả lời

  • Có thể sử dụng splice.

    var names = ["Hà", "Thiên", "Lộc", "Hợi"]
    const index = names.find(name => (name === "Thiên"));
    names.splice(index, 1);

    Tuy nhiên cách này thay đổi mảng names ban đầu. Không thích hợp để sử dụng trong functional programming.Có thể sử dụng filter để tạo ra mảng mới gồm những tên khác Thiên

    var names = ["Hà", "Thiên", "Lộc", "Hợi"];
    const filteredNames = names.filter(name => (name !== "Thiên"));
    console.log(filteredNames);
    
    // kết quả  ["Hà",  "Lộc", "Hợi"];
    • Mình nghĩ phần lấy index có thể sử dụng hàm indexOf thì sẽ nhanh và rõ nghĩa hơn. Dù sao cũng cảm ơn bạn!

      windy
        thg 8 08th 2017
    • uh, thích hợp cho trường hợp phần tử là String. Tuy nhiên nếu phần tử là object. vd { firstName: 'Thien', lastName: 'Nguyen' } mà muốn tìm theo firstName thì nên dùng find.

      Xuân Nguyễn
        thg 8 08th 2017

Không phải là câu trả lời bạn đang tìm kiếm? Tìm kiếm câu hỏi khác với các thẻ javascript xuan-nguyen hoặc hỏi câu hỏi mới.