Computer >> Máy Tính >  >> Lập trình >> Javascript

JavaScript - Tìm khóa cho các giá trị phù hợp như truy vấn trong SQL

Giả sử, chúng ta có một đối tượng như thế này -

const obj = {"100":"Jaipur","101":"Delhi","102":"Raipur","104":"Goa"};

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một đối tượng như vậy làm đối số đầu tiên và một cụm từ truy vấn tìm kiếm làm đối số thứ hai. Khi đó, hàm của chúng ta sẽ trả về tất cả các cặp khóa / giá trị có giá trị bao gồm cụm từ tìm kiếm được cung cấp cho hàm dưới dạng đối số thứ hai.

Chúng tôi sẽ chỉ cần lặp lại qua đối tượng, xây dựng đối tượng kết quả (nếu nó phù hợp với điều kiện) khi chúng tôi di chuyển qua và cuối cùng trả lại đối tượng đó.

Ví dụ

Mã cho điều này sẽ là -

const obj = {
   "100":"Jaipur",
   "101":"Delhi",
   "102":"Raipur",
   "104":"Goa"
};
const findByQuery = (obj, query) => {
   const keys = Object.keys(obj);
   const res = {};
   keys.forEach(key => {
      // case insensitive search
      if(obj[key].toLowerCase().includes(query.toLowerCase())){
         res[key] = obj[key]
      };
   });
   return res;
};
console.log(findByQuery(obj, 'Pur'));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

{ '100': 'Jaipur', '102': 'Raipur' }