Làm cách nào để kiểm tra xem bất kỳ giá trị nào trong một đối tượng có đúng trong javascript không?

Chào mừng bạn đến với hướng dẫn nhanh về cách kiểm tra xem một giá trị có tồn tại trong một đối tượng trong Javascript hay không. Vì vậy, có lẽ bạn đã thử thực hiện

// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male"
};

// [B] MANUALLY LOOP & SEARCH
var musthave = "John Doe";
var found = false;
for [let key in theObject] {
  if [theObject[key] == musthave] {
    found = true;
    break;
  }
}
console.log[found]; // true
1 để kiểm tra xem một đối tượng có chứa một giá trị nào đó không. Nhưng hóa ra, đồ vật không có chức năng rất tiện lợi đó

Các cách phổ biến để kiểm tra xem một giá trị có tồn tại trong đối tượng Javascript hay không là

  1. Trích xuất tất cả các giá trị từ đối tượng thành một mảng, sau đó sử dụng hàm
    // [A] THE OBJECT
    var theObject = { 
      Name: "John Doe", 
      Email: "john@doe.com",
      Gender: "Male"
    };
    
    // [B] MANUALLY LOOP & SEARCH
    var musthave = "John Doe";
    var found = false;
    for [let key in theObject] {
      if [theObject[key] == musthave] {
        found = true;
        break;
      }
    }
    console.log[found]; // true
    2 để kiểm tra
    • // [A] THE OBJECT
      var theObject = { 
        Name: "John Doe", 
        Email: "john@doe.com",
        Gender: "Male"
      };
      
      // [B] MANUALLY LOOP & SEARCH
      var musthave = "John Doe";
      var found = false;
      for [let key in theObject] {
        if [theObject[key] == musthave] {
          found = true;
          break;
        }
      }
      console.log[found]; // true
      3
    • // [A] THE OBJECT
      var theObject = { 
        Name: "John Doe", 
        Email: "john@doe.com",
        Gender: "Male"
      };
      
      // [B] MANUALLY LOOP & SEARCH
      var musthave = "John Doe";
      var found = false;
      for [let key in theObject] {
        if [theObject[key] == musthave] {
          found = true;
          break;
        }
      }
      console.log[found]; // true
      4
  2. Lặp thủ công qua đối tượng và kiểm tra từng giá trị –
    • // [A] THE OBJECT
      var theObject = { 
        Name: "John Doe", 
        Email: "john@doe.com",
        Gender: "Male"
      };
      
      // [B] MANUALLY LOOP & SEARCH
      var musthave = "John Doe";
      var found = false;
      for [let key in theObject] {
        if [theObject[key] == musthave] {
          found = true;
          break;
        }
      }
      console.log[found]; // true
      5
    • // [A] THE OBJECT
      var theObject = { 
        Name: "John Doe", 
        Email: "john@doe.com",
        Gender: "Male"
      };
      
      // [B] MANUALLY LOOP & SEARCH
      var musthave = "John Doe";
      var found = false;
      for [let key in theObject] {
        if [theObject[key] == musthave] {
          found = true;
          break;
        }
      }
      console.log[found]; // true
      6

P. S. Nếu bạn đang muốn kiểm tra xem một tài sản có tồn tại hay không – Thay vào đó hãy đọc hướng dẫn này

Điều đó bao gồm những điều cơ bản, nhưng chúng ta hãy xem qua một số ví dụ chi tiết trong hướng dẫn này, hãy đọc tiếp

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

TRANG TRÌNH BÀY NHANH

Tải xuống & Ghi chú
Giá trị trong đối tượng
Bit và liên kết hữu ích
Video hướng dẫn
The End

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã nguồn ví dụ như đã hứa

 

GHI CHÚ NHANH

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

MÃ VÍ DỤ TẢI XUỐNG

Nhấp vào đây để tải xuống mã nguồn, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn hoặc sử dụng nó trong dự án của riêng bạn

 

 

KIỂM TRA NẾU GIÁ TRỊ TỒN TẠI TRONG ĐỐI TƯỢNG

Được rồi, bây giờ chúng ta hãy đi vào ví dụ khác nhau về cách kiểm tra xem một số nhất định có tồn tại trong một đối tượng không

 

VÍ DỤ 1] TRÍCH TẤT CẢ CÁC GIÁ TRỊ VÀO MỘT Mảng

1-giá trị. js

// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male"
};
 
// [B] EXTRACT ALL VALUES
var values = Object.values[theObject];
console.log[values]; // ["John Doe", "john@doe.com", "Male"]
 
// [C] CHECK USING ARRAY FUNCTIONS
console.log[values.includes["John Doe"]]; // true
console.log[values.indexOf["John Doe"]]; // 0, will be -1 if not found

Đây gần như chỉ là một “phiên bản mở rộng” của đoạn trích đơn giản trong phần giới thiệu. Những điểm chính là

  • // [A] THE OBJECT
    var theObject = { 
      Name: "John Doe", 
      Email: "john@doe.com",
      Gender: "Male"
    };
    
    // [B] MANUALLY LOOP & SEARCH
    var musthave = "John Doe";
    var found = false;
    for [let key in theObject] {
      if [theObject[key] == musthave] {
        found = true;
        break;
      }
    }
    console.log[found]; // true
    0 sẽ trả về tất cả các giá trị của đối tượng trong một mảng
  • Khi chúng tôi có một mảng giá trị, chúng tôi có thể dễ dàng sử dụng
    // [A] THE OBJECT
    var theObject = { 
      Name: "John Doe", 
      Email: "john@doe.com",
      Gender: "Male"
    };
    
    // [B] MANUALLY LOOP & SEARCH
    var musthave = "John Doe";
    var found = false;
    for [let key in theObject] {
      if [theObject[key] == musthave] {
        found = true;
        break;
      }
    }
    console.log[found]; // true
    1 hoặc
    // [A] THE OBJECT
    var theObject = { 
      Name: "John Doe", 
      Email: "john@doe.com",
      Gender: "Male"
    };
    
    // [B] MANUALLY LOOP & SEARCH
    var musthave = "John Doe";
    var found = false;
    for [let key in theObject] {
      if [theObject[key] == musthave] {
        found = true;
        break;
      }
    }
    console.log[found]; // true
    2 để kiểm tra

Đó là tất cả

 

 

VÍ DỤ 2] VÒNG VÒNG THỦ CÔNG ĐỂ KIỂM TRA GIÁ TRỊ

2 hướng dẫn sử dụng. js

// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male"
};

// [B] MANUALLY LOOP & SEARCH
var musthave = "John Doe";
var found = false;
for [let key in theObject] {
  if [theObject[key] == musthave] {
    found = true;
    break;
  }
}
console.log[found]; // true

Đây là một cách thay thế mà chúng ta lặp qua đối tượng theo cách thủ công để tìm giá trị đã cho và điều đó không sai… Trước khi những kẻ troll ngu ngốc bắt đầu phỉ báng “điều này thật ngu ngốc và vô dụng”, nó vẫn có những cách sử dụng khả thi của riêng nó. Ví dụ: chúng ta có thể đếm tổng số lần xuất hiện hoặc thay đổi tất cả các giá trị cùng một lúc

var count = 0;
var check = "John Doe";
for [let key in theObject] {
  if [theObject[key] == check] { 
    theObject[key] = "FOO";
    count++; 
  } 
}
console.log[count];

 

VÍ DỤ 3] KIỂM TRA NẾU GIÁ TRỊ TỒN TẠI TRONG CÁC ĐỐI TƯỢNG LỒNG

3 lồng nhau. js

// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male",
  Numbers: [12, 34],
  Fav: {
    Colors: ["Red", "Green", "Blue"],
    Foods: ["Pizza", "Spam"]
  }
};

/*
// [B] THIS WILL NOT WORK!
// values[] WILL ONLY RETURN FIRST LEVEL
var values = Object.values[theObject];
console.log[values]; // ["John Doe", "john@doe.com", "Male", OBJECT]
console.log[values.includes["Pizza"]]; // false
*/

// [C] WE NEED A RECURSIVE FUNCTION TO DIG DEEP
var flatval = function [value] {
  var temp = [];
  if [typeof value == "object"] {
    // ARRAY
    if [Array.isArray[value]] {
      for [let i of value] { temp = temp.concat[flatval[i]]; }
    }
    // OBJECT
    else {
      for [let i in value] { temp = temp.concat[flatval[value[i]]]; }
    }
  } 
  // FLAT STRING, NUMBER, OR BOOLEAN
  else { temp.push[value]; }
  return temp;
};
 
// [D] GO!
var flattened = flatval[theObject];
console.log[flattened]; // ALL VALUES IN FLAT ARRAY
console.log[flattened.includes["Pizza"]]; // true
console.log[flattened.indexOf["Pizza"]]; // 8

Bây giờ, các phương pháp trên có lẽ là “lối thoát dễ dàng”, nhưng chúng có một lỗ hổng nghiêm trọng – Nó chỉ đi sâu vào 1 cấp độ. Giá trị được lồng sâu bên trong sẽ không được tìm thấy

Vì vậy, đây là giải pháp đáng nguyền rủa bằng cách sử dụng đệ quy khó hiểu… Về cơ bản, hãy đào sâu vào mọi mảng và đối tượng để trả về một “mảng giá trị phẳng” – Sau đó, Thuyền trưởng Rõ ràng, hãy sử dụng

// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male"
};

// [B] MANUALLY LOOP & SEARCH
var musthave = "John Doe";
var found = false;
for [let key in theObject] {
  if [theObject[key] == musthave] {
    found = true;
    break;
  }
}
console.log[found]; // true
2 hoặc
// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male"
};

// [B] MANUALLY LOOP & SEARCH
var musthave = "John Doe";
var found = false;
for [let key in theObject] {
  if [theObject[key] == musthave] {
    found = true;
    break;
  }
}
console.log[found]; // true
4 để kiểm tra

 

 

BIT & LIÊN KẾT HỮU ÍCH

Đó là tất cả cho hướng dẫn này và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

TÓM LƯỢC

Hàm/Câu lệnh Mô tả Liên kết tham chiếu
// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male"
};

// [B] MANUALLY LOOP & SEARCH
var musthave = "John Doe";
var found = false;
for [let key in theObject] {
  if [theObject[key] == musthave] {
    found = true;
    break;
  }
}
console.log[found]; // true
0Nhận tất cả các giá trị của đối tượng. Lưu ý - Chỉ cấp độ đầu tiên. Bấm vào đây
// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male"
};

// [B] MANUALLY LOOP & SEARCH
var musthave = "John Doe";
var found = false;
for [let key in theObject] {
  if [theObject[key] == musthave] {
    found = true;
    break;
  }
}
console.log[found]; // true
1Kiểm tra xem giá trị đã cho có tồn tại trong mảng không. Bấm vào đây
// [A] THE OBJECT
var theObject = { 
  Name: "John Doe", 
  Email: "john@doe.com",
  Gender: "Male"
};

// [B] MANUALLY LOOP & SEARCH
var musthave = "John Doe";
var found = false;
for [let key in theObject] {
  if [theObject[key] == musthave] {
    found = true;
    break;
  }
}
console.log[found]; // true
2Trả về chỉ mục của giá trị đã cho, -1 nếu không tìm thấy. Bấm vào đây

 

LIÊN KẾT và THAM KHẢO

  • Cách kiểm tra xem giá trị có tồn tại trong đối tượng hay không bằng cách sử dụng javascript – StackOverflow

 

VIDEO HƯỚNG DẪN

 

BẢNG CHEAT INFOGRAPHIC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa vui vẻ

Chủ Đề