Cổng Khoa học Máy tính dành cho những người yêu thích máy tính. Nó bao gồm các bài báo về khoa học máy tính và lập trình được viết tốt, tư duy tốt và được giải thích tốt, các câu đố và thực hành / lập trình cạnh tranh / các câu hỏi phỏng vấn công ty.

Bạn đang xem : lọc trong nút js

Cách triển khai tìm kiếm và lọc trong API REST với Node.js và Express.js?

< p> Tìm kiếm và lọc là các tính năng rất cơ bản mà API phải có để cung cấp dữ liệu cho ứng dụng khách một cách hiệu quả. Bằng cách xử lý các hoạt động này ở phía máy chủ, chúng tôi có thể giảm số lượng xử lý phải thực hiện trên ứng dụng khách, do đó tăng hiệu suất của ứng dụng.

Một cách cực kỳ phổ biến để thực hiện điều này là nhờ sự trợ giúp của chuỗi truy vấn. Chuỗi truy vấn là một phần của URL cho phép chúng tôi truyền dữ liệu từ máy khách đến máy chủ và ngược lại dưới dạng các tham số và giá trị của chúng.

Cú pháp:

 http://test.com?name=John&age=21 

Đây là phần sau dấu chấm hỏi (?) là chuỗi truy vấn. Về cơ bản, đây là các cặp khóa-giá trị mà chúng ta có thể sử dụng cho nhiều mục đích khác nhau. Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể xây dựng một Node.js REST API có thể chấp nhận các chuỗi truy vấn này, lọc danh sách người dùng trên cơ sở các tham số được cung cấp này và sau đó trả về kết quả phù hợp.

Thiết lập Dự án:

  • Đầu tiên, chúng ta phải khởi tạo một dự án mới bằng cách sử dụng Trình quản lý gói nút . Chúng tôi có thể hoàn thành thiết lập bằng cách chọn tất cả các tùy chọn mặc định.

     npm init 
  • Tiếp theo, chúng ta phải cài đặt gói express.

     npm install express --save  

Điểm nhập của ứng dụng này sẽ là tệp app.js . Tất cả logic kinh doanh của chúng tôi sẽ đi ở đây. REST API sẽ chỉ chứa một tuyến duy nhất sẽ trả về danh sách người dùng, với hỗ trợ tìm kiếm và lọc bằng cách sử dụng các chuỗi truy vấn.

Ví dụ: Ban đầu, tệp app.js sẽ trông giống như thế này, với tuyến đường chỉ trả về một thông báo cơ bản.

app.js




< code class = "trơn"> const express = request ( 'express' );

< p class = "line number2 index1 alt1"> const data = request ( './ data' );

const app = expre ss ();

app.use ( '/' , (req, res, next) = & gt; {

res.send ( < code class = "string"> 'Node.js Tìm kiếm và Lọc' );

});

app.listen (5000, () = & gt; {

< p class = "line number14 index13 alt1"> console.log ( 'Máy chủ đã khởi động ! ' );

});

 
 

Thêm dữ liệu mô phỏng: Để thực hiện tìm kiếm và lọc, chúng tôi cần một số dữ liệu mô phỏng, tức là danh sách người dùng mà chúng tôi c thực hiện các hoạt động này. Đối với điều này, chúng tôi có thể tạo một tệp riêng data.js

data.js

const data = [

{id: 1, tên: 'Alan Wake' , tuổi: 21, thành phố: 'New York' }, < / p>

{id: 2, name: 'Steve Rogers' , age: 106, city: 'Chicago' },

{id: 3 , tên: 'Tom Hanks' , tuổi: 47, thành phố: 'Detroit' },

< code class = "trơn"> {id: 4, name: 'Ryan Burns' , tuổi: 16, thành phố: < / code> 'New York' },

{id: 5, name: 'Jack Ryan' , tuổi: 31, thành phố: 'New York' },

{id: 6, name: 'Clark Kent' , tuổi: 34, thành phố: 'Metropolis' },

{id: 7, name: < code class = "string"> 'Bruce Wayne' , tuổi: 21, thành phố: 'Gotham' < code class = "trơn">},

{ id: 8, name: 'Tim Drake' , age: 21, city: 'Gotham' },

{ id: 9, name: 'Jimmy Olsen' , age: 21, city: 'Metropolis' },

{id: 10, tên: 'Ryan Burns' , tuổi: 21, thành phố: 'New York' },

];

module.exports = data;

 
 

Làm việc với chuỗi truy vấn:

  • Hãy xem xét URL này. Ở đây, chúng tôi muốn tìm nạp tất cả người dùng sống ở Metropolis và 21 tuổi.

     http: // localhost: 5000? City = Metropolis & amp; age = 21 
  • < li>

    Chúng tôi có thể truy cập chuỗi truy vấn bằng cách sử dụng thuộc tính query của đối tượng res

     console.log (res.query)
    & gt; & gt; {city: 'Metropolis', age: '21'} 

Chúng ta có thể thấy rằng nó chứa tất cả các tham số được chuyển qua URL dưới dạng các cặp khóa-giá trị. Để áp dụng các thông số này trên danh sách người dùng của chúng tôi, chúng tôi có thể sử dụng phương thức Array.filter () và kiểm tra từng người dùng, nếu nó đáp ứng tất cả các thông số được cung cấp và nếu có, hãy thêm nó vào danh sách Người dùng được lọc .

Danh sách Người dùng được lọc là kết quả cuối cùng của chúng tôi và có thể được trả lại dưới dạng phản hồi. Mã cuối cùng được cung cấp bên dưới

app.js

const express = request ( 'express' );

const data = request ( './ data' ); < / p>

const app = express ();

app.use ( '/' , (req, res, next) = & gt; {

const filter = req.query;

const filterUsers = data.filter (user = & gt; {

let isValid = true ;

cho (khóa trong bộ lọc) {

console.log (key, user [key], filter [key ]);

isValid = isValid & amp; & amp; user [key] == filter [key];

}

return isValid; < / p>

});

res.send (filterUsers);

});

app.listen (5000, () = & gt; {

console.log ( < code class = "string"> 'Máy chủ đã khởi động!' );

});

 
 

Ví dụ

  1. URL: Tìm nạp người dùng có id là 2

     http: // localhost: 5000? id = 2 

    Đầu ra:

     [
       {
           "id": 2,
           "tên": "Steve Rogers",
           "tuổi": 106,
           "thành phố": "Chicago"
       }
    ] 
  2. URL: Tìm nạp tất cả người dùng sống ở Metropolis

     http: // localhost: 5000? city = Metropolis < / pre> 

    Đầu ra:

     [
        {
            "id": 6,
            "name": "Clark Kent",
            "tuổi": 34,
            "thành phố": "Metropolis"
        },
        {
            "id": 9,
            "name": "Jimmy Olsen",
            "tuổi": 21,
            "thành phố": "Metropolis"
        }
    ] 
  3. URL: Tìm nạp tất cả người dùng sống ở Metropolis và đủ 21 tuổi

     http: // localhost: 5000 ? city = Metropolis & amp; age = 21 

    Đầu ra

     [
       {
           "id": 9,
           "name": "Jimmy Olsen",
           "tuổi": 21,
           "thành phố": "Metropolis"
       }
    ] 

Ghi chú cá nhân của tôi < / p>


Xem thêm những thông tin liên quan đến chủ đề lọc trong nút js

JS for beginners, toggle text in button [6/25]

  • Tác giả: Chart JS
  • Ngày đăng: 2018-08-08
  • Đánh giá: 4 ⭐ ( 5611 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Welcome to Excellence in Excel,

    In this video you will learn in this video you will learn how toggle text in a button in JavaScript. Very often you want to show details or hide details the moment the user clicks a button. Making this higher level of interactivity is important.

    Want to learn more about ChartJS? Check our free ChartJS course:
    https://www.udemy.com/chart-js

    JS JavaScript ChartJS

Phương thức sort() trong JavaScript

  • Tác giả: niithanoi.edu.vn
  • Đánh giá: 3 ⭐ ( 3297 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn này, mình sẽ giúp bạn học cách sử dụng phương thức sort() trong JavaScript để sắp xếp các mảng số, chuỗi và đối tượng.

Cách lọc và duyệt cây DOM bằng JavaScript / Mã hóa

  • Tác giả: vi.phhsnews.com
  • Đánh giá: 5 ⭐ ( 3500 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bạn có biết có API JavaScript với nhiệm vụ duy nhất là lọc và lặp qua các nút mà chúng ta muốn từ cây DOM không? Trong thực tế, không phải một mà là

Lọc nhớt JS filter từ Nhật Bản

  • Tác giả: phutungoto123.vn
  • Đánh giá: 4 ⭐ ( 1190 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lọc Nhớt JS filter cao cấp cho các dòng xe ô tô.

JavaScript, cách lọc một mảng

  • Tác giả: tech-wiki.online
  • Đánh giá: 4 ⭐ ( 6210 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Hướng dẫn tạo filter list với Javascript

  • Tác giả: freetuts.net
  • Đánh giá: 5 ⭐ ( 4130 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Filter list là một danh sách các kết quả tìm kiếm có thể được lọc lại mỗi khi người dùng nhập vào một kí tự. Chúng ta thường gặp một filter list trong ô tìm.

Cách lọc một đối tượng theo khóa trong JavaScript

  • Tác giả: gialaipc.com.vn
  • Đánh giá: 3 ⭐ ( 9051 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [ad_1]

    Ngày 19 tháng 8 năm 2021

    Các đối tượng JavaScript không có filter() , trước tiên bạn phải

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cột - có bao nhiêu cột trong bootstrap

By ads_php