Lọc số nguyên tố javascript

Viết hàm JavaScript chấp nhận một số làm tham số và kiểm tra số đó có phải là số nguyên tố hay không

Ghi chú. Số nguyên tố (hay số nguyên tố) là số tự nhiên lớn hơn 1 không có ước dương nào khác 1 và chính nó

Trình bày bằng hình ảnh

Lọc số nguyên tố javascript

Giải pháp mẫu. -

Mã HTML





Check a number is prime or not


 



Mã JavaScript

function test_prime(n)
{

  if (n===1)
  {
    return false;
  }
  else if(n === 2)
  {
    return true;
  }else
  {
    for(var x = 2; x < n; x++)
    {
      if(n % x === 0)
      {
        return false;
      }
    }
    return true;  
  }
}

console.log(test_prime(37));

Đầu ra mẫu

true

Sơ đồ

Lọc số nguyên tố javascript

Bản thử trực tiếp

Xem JavaScript Bút -Đếm số nguyên âm trong chuỗi-hàm-ex- 7 của w3resource (@w3resource) trên CodePen


Cải thiện giải pháp mẫu này và đăng mã của bạn qua Disqus

Trước. Viết hàm JavaScript chấp nhận một chuỗi làm tham số và đếm số nguyên âm trong chuỗi
Kế tiếp. Viết một hàm JavaScript chấp nhận một đối số và trả về kiểu

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Theo dõi chúng tôi trên FacebookTwitter để cập nhật thông tin mới nhất.

JavaScript. Lời khuyên trong ngày

Phá hủy với bí danh

Cú pháp gán phá hủy là một biểu thức JavaScript cho phép giải nén các giá trị từ mảng hoặc thuộc tính từ các đối tượng thành các biến riêng biệt. Thay vì gắn bó với biến đối tượng hiện có, chúng ta có thể đổi tên chúng theo sở thích của riêng mình

Một trong những nhiệm vụ phổ biến nhất khi làm việc với mảng là tạo một mảng mới chứa một tập hợp con các phần tử của mảng ban đầu

Giả sử bạn có một mảng các đối tượng sinh viên trong đó mỗi đối tượng chứa hai thuộc tính. tentuoi

{ mười. "Ngọc Anh", tuoi. 18 },

{ mười. "Tiểu Bảo", tuoi. 20 },

{ mười. "Thu Hương", tuoi. 18 },

Để tìm kiếm học sinh có độ tuổi lớn hơn 18, bạn thường sử dụng vòng lặp để lặp qua các phần tử và kiểm tra thuộc tính tuoi

Nếu đúng là tuổi lớn hơn 18 thì bổ sung phần tử đó vào mảng mới, như sau

cho (let i = 0; i < sinhViens. chiều dài;

nếu (sinhViens[i]. tuoi > 18) {

// Add phần tử vào cuối mảng mới

sinhVienCungs. đẩy(sinhVien[i]);

bảng điều khiển. log(sinhVienCungs);

Kết quả ta được

{ mười. "Tiểu Bảo", tuoi. 20 },

Tuy nhiên, sử dụng vòng lặp cho đôi khi hơi cứng đầu, JavaScript cung cấp phương thức filter() để cho phép bạn thực hiện nhiệm vụ này một cách ngắn gọn và rõ ràng hơn

Ví dụ sau trả về kết quả tương tự như ví dụ trên


// Lọc phần sử dụng filter()

cho sinhVienCungs = sinhViens. bộ lọc(hàm(e) {

bảng điều khiển. log(sinhVienCungs);

Trong ví dụ này, chúng tôi đã gọi phương thức filter() của Array đối tượng trên mảng sinhViens và truyền vào một hàm kiểm tra từng phần tử

Bên trong chức năng, chúng tôi đã kiểm tra xem tuổi của học viên có lớn hơn 18 hay không

Nếu đúng như vậy, hàm trả về true. If not, it return false

Lúc này, phương thức filter() chỉ lọc ra các phần tử mà xác định màn hình kiểm tra của chúng ta truyền vào

Ngoài ra, bạn có thể sử dụng chức năng Mũi tên (trong ES6) và cách viết "Clean code" như thế này để lọc học sinh có độ tuổi lớn hơn 18


// Tạo hàm kiểm tra tuổi > 18

cho lonHon18Tuoi = e => e. tuổi > 18;

// Lọc tuổi lớn hơn 18 với hàm filter()

cho sinhVienCungs = sinhViens. filter(lonHon18Tuoi);

bảng điều khiển. log(sinhVienCungs);

Hoặc viết ngắn hơn như thế này


// Lọc sinh viên lớn hơn 18 tuổi

cho sinhVienCungs = sinhViens. lọc(e => e. tuoi > 18);

bảng điều khiển. log(sinhVienCungs);

Cách này thì không dễ đọc cho lắm. But it short

Bộ lọc chi tiết hàm trong JavaScript

Cú pháp của hàm filter() trong Javascript như sau


đối tượng mảng. bộ lọc (gọi lại, bối cảnh);

Phương thức filter() tạo một mảng mới bao gồm tất cả các phần tử vượt qua phép kiểm tra được thực hiện bởi hàm callback()

> Tìm hiểu thêm về Gọi lại trong JavaScript

Bên trong, phương thức filter() lặp lại từng phần tử của mảng và truyền từng phần tử vào hàm gọi lại để kiểm tra

  • Nếu hàm gọi lại trả về đúng, nó bao gồm phần tử trong mảng trả về

Phương thức filter() chấp nhận hai đối số được đặt tên

  • And a option object

Giống như các phương thức lặp khác của mảng đối tượng như every(), some(), map() và forEach(), hàm gọi lại có dạng sau


hàm gọi lại(currentElement, index, array) {

Hàm gọi lại nhận ba đối số

  • currentElement. is the current section at in an array is being processing by function callback
  • tuoi0. Tùy chọn. Is address of currentElement is being used by function callback
  • tuoi1. Tùy chọn. Là mảng đối tượng đang được duyệt qua

Đối số tuoi2 của phương thức filter() cũng là tùy chọn

Nếu bạn truyền giá trị này, bạn có thể tham khảo nó bằng cách sử dụng từ khóa tuoi4 bên trong hàm gọi lại

Điều quan trọng cần lưu ý là phương thức filter() không thay đổi mảng ban đầu

Ví dụ sử dụng hàm filter JavaScript

Vì phương thức filter() trả về một mảng mới, bạn có thể xâu chuỗi kết quả với các phương thức lặp khác như tuoi6 và map()

Ví dụ. Phần sau minh họa cách liên kết ba phương thức. filter(), sort() và map()

{ mười. "Ngọc Anh", tuoi. 18 },

{ mười. "Tiểu Bảo", tuoi. 20 },

{ mười. "Thu Hương", tuoi. 18 },

// Kết hợp filter(), sort() và map()

    . sắp xếp((sv1, sv2) => sv1. tuoi - sv2. tuổi)

    . bản đồ(sv => bảng điều khiển. nhật ký (sv. mười + '. ' + sv. tuoi));

Kết quả ta được


Ngọc Anh. 18
thu hương. 18
Tiểu Bảo. 20
vũ hà. 22

Nó hoạt động như thế nào?

  • Đầu tiên, method filter() trả về các sinh viên có tuổi nhỏ hơn 20
  • Thứ hai, phương thức sort() sắp xếp sinh viên theo tuổi tăng dần
  • Thứ ba, map() phương thức hiển thị từng phần tử trong mảng kết quả trong bảng điều khiển

Ví dụ sau minh họa việc sử dụng đối số tuoi7 chỉ định một đối tượng có thể được tham chiếu trong hàm callback() thông qua từ khóa tuoi4


// Tạo hàm kiểm tra giá trị phù hợp

// nằm trong khoảng nhất định

function giaTriPhuHop(giaTri) {

nếu (loại giaTri. == 'số') {

return giaTri >= this. canDuoi && giaTri <= this. canTren;

let duLieu = [10, 20, "30", 1, 5, "Filter JS", undefined, "ABC"];

// Lọc giá trị bằng hàm filter()

let giaTriNamTrongKhoang = duLieu. filter(giaTriPhuHop, khoang);

bảng điều khiển. log(giaTriNamTrongKhoang);

Program on active as after

  • Đầu tiên, chúng ta tạo hàm tuoi0 để kiểm tra xem các đối số của nó phải là một số hay không và lớn hơn hoặc bằng cận dưới, nhỏ hơn hoặc bằng cận trên
  • Tiếp theo, tạo ra một mảng chứa hỗn hợp dữ liệu để lát cắt ứng dụng cho bộ lọc
  • Sau đó, xác định đối tượng tuoi1 với cận trên và cận dưới
  • Sau đó, gọi các phương thức filter() trên mảng tuoi3 và truyền vào hàm tuoi0 và các đối tượng khoảng. Bởi vì chúng ta truyền vào đối tượng tuoi1, thế nên ở bên trong hàm giaTriPhuHop, từ khóa tuoi4 tham chiếu đến đối tượng tuoi1
  • Cuối cùng, hiển thị mảng đã lọc trong bảng điều khiển

Tổng kết về hàm filter JS

Như vậy, theo hướng dẫn này, bạn đã học cách sử dụng phương thức filter() của JS để lọc các phần tử trong một mảng theo điều kiện kiểm tra được cung cấp bởi một hàm gọi lại

Nếu có phần nào chưa hiểu, vui lòng để lại bình luận bên dưới để được giải đáp thêm

> Và nếu muốn học lập trình web nhanh hơn thì có thể đăng ký khóa học Học offline HỌC LẬP TRÌNH JAVA WEB hoặc LẬP TRÌNH PHP với chuyên gia ngay

---

HỌC VIỆN ĐẠO TẠO CNTT NIIT - ICT HÀ NỘI

Học lập trình chất lượng cao (Từ năm 2002). Học thực tế + Tuyển dụng ngay

Đc. Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội

SĐT. 02435574074 - 0968051561

E-mail. xin chào@niithanoi. giáo dục. vn

trang chủ. https. //Facebook. com/NIIT. CNTT-TT/

#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python