Hướng dẫn check if array exists in object javascript - kiểm tra xem mảng có tồn tại trong đối tượng javascript không
Tôi cần xác định xem một đối tượng đã tồn tại trong một mảng trong JavaScript. Show
ví dụ: dummycode):
Bây giờ mảng "carbrands" chứa tất cả các trường hợp. Bây giờ tôi đang tìm một giải pháp nhanh để kiểm tra xem một ví dụ của CAR1, CAR2, CAR3 hoặc CAR4 đã ở trong mảng carbrands. eg:
CAR1 và CAR4 chứa cùng một dữ liệu nhưng là các trường hợp khác nhau mà chúng nên được kiểm tra là không bằng nhau. Tôi có thêm một cái gì đó giống như một hàm băm vào các đối tượng trên sáng tạo không? Hoặc có một cách nhanh hơn để làm điều này trong JavaScript. Tôi đang tìm kiếm giải pháp nhanh nhất ở đây, nếu bẩn, vì vậy nó phải được;) trong ứng dụng của tôi, nó phải xử lý khoảng 10000 trường hợp. Không có jQuery Đã hỏi ngày 3 tháng 1 năm 2011 lúc 18:16Jan 3, 2011 at 18:16
Caspar Kleijnecaspar KleijneCaspar Kleijne 21.1K12 Huy hiệu vàng70 Huy hiệu bạc101 Huy hiệu đồng12 gold badges70 silver badges101 bronze badges 3 Sử dụng một cái gì đó như thế này:
Trong trường hợp này, 7 là đúng. Xóa cuộc gọi 8 và thay vào đó nó sẽ trả về sai. Nếu sau đó bạn mở rộng sang sử dụng các đối tượng để lưu trữ các đối tượng xe khác này thay vì sử dụng mảng, bạn có thể sử dụng một cái gì đó như thế này: thay vào đó:
Cách tiếp cận này cũng sẽ hoạt động cho các mảng, nhưng khi được sử dụng trên các mảng, nó sẽ chậm hơn so với tùy chọn đầu tiên. Đã trả lời ngày 3 tháng 1 năm 2011 lúc 18:26Jan 3, 2011 at 18:26
CDHowieCdhowiecdhowie 150K23 Huy hiệu vàng281 Huy hiệu bạc292 Huy hiệu Đồng23 gold badges281 silver badges292 bronze badges 8 Tại sao bạn không sử dụng phương pháp indexof của mảng javascript? Kiểm tra điều này: mảng MDN Indexof Đơn giản là làm:
Nó sẽ trả lại cho bạn chỉ mục (vị trí trong mảng) của CAR1. Nó sẽ trả lại -1 nếu CAR1 không được tìm thấy trong mảng. http://jsfiddle.net/Fraximus/r154cd9o Chỉnh sửa: Lưu ý rằng trong câu hỏi, các yêu cầu là kiểm tra cùng một đối tượng được tham chiếu trong mảng và không phải là một đối tượng mới. Ngay cả khi đối tượng mới giống hệt nhau trong nội dung với đối tượng trong mảng, nó vẫn là một đối tượng khác. Như đã đề cập trong các bình luận, các đối tượng được truyền bằng tham chiếu trong JS và cùng một đối tượng có thể tồn tại nhiều lần trong nhiều cấu trúc. Nếu bạn muốn tạo một đối tượng mới và kiểm tra xem mảng có chứa các đối tượng giống hệt với người mới của bạn hay không, câu trả lời này sẽ không hoạt động (Fiddle của Julien bên dưới), nếu bạn muốn kiểm tra sự tồn tại của đối tượng đó trong mảng, thì câu trả lời này sẽ làm việc. Kiểm tra các fiddles ở đây và trong các ý kiến. Note that in the question, the requirements are to check for the same object referenced in the array, and NOT a new object. Even if the new object is identical in content to the object in the array, it is still a different object. As mentioned in the comments, objects are passed by reference in JS and the same object can
exist multiple times in multiple structures. Đã trả lời ngày 30 tháng 7 năm 2013 lúc 8:25Jul 30, 2013 at 8:25
FraxfraxFrax 2.9551 Huy hiệu vàng23 Huy hiệu bạc26 Huy hiệu đồng1 gold badge23 silver badges26 bronze badges 12 Gần đây đã bị cắn bởi lỗi FP đọc nhiều tài khoản tuyệt vời về cách thức gọn gàng mô hình chức năng phù hợp với JavaScript Tôi sao chép mã cho tính đầy đủ và đề xuất hai cách điều này có thể được thực hiện về mặt chức năng.
Nếu bạn cần hỗ trợ các trình duyệt cũ hơn sử dụng polyfill, có vẻ như IE9+ và Edge không hỗ trợ nó. Nằm trong phần Polyfill của trang MSDN Ngoài ra, tôi muốn đề xuất một câu trả lời cập nhật cho CDHowie
Đã trả lời ngày 27 tháng 5 năm 2016 lúc 14:31May 27, 2016 at 14:31
Faktor 10faktor 10Faktor 10 1.7602 huy hiệu vàng21 Huy hiệu bạc29 Huy hiệu đồng2 gold badges21 silver badges29 bronze badges 3 thử mảng.prototype.some () Mảng mdn.prototype.some
Đã trả lời ngày 19 tháng 7 năm 2016 lúc 2:29Jul 19, 2016 at 2:29
UtillyouutillyouUtillYou 2312 Huy hiệu bạc7 Huy hiệu đồng2 silver badges7 bronze badges 0 Bạn có thể sử dụng phương pháp grep của JQuery:
Nhưng khi bạn chỉ định không có jQuery, bạn chỉ có thể tạo ra một đạo hàm của chức năng. Từ mã nguồn:
Đã trả lời ngày 3 tháng 1 năm 2011 lúc 18:30Jan 3, 2011 at 18:30
Stefstefstef 14.1k2 Huy hiệu vàng46 Huy hiệu bạc70 Huy hiệu đồng2 gold badges46 silver badges70 bronze badges 1 Tôi đã sử dụng thư viện JavaScript ____29 để điều chỉnh vấn đề này. 0Vui lòng tham khảo tài liệu UnderCore.js cho các chức năng nhấn mạnh được sử dụng trong ví dụ trên. Lưu ý: Đây không phải là một giải pháp JavaScript thuần túy. Chia sẻ cho mục đích giáo dục. Đã trả lời ngày 11 tháng 3 năm 2013 lúc 7:11Mar 11, 2013 at 7:11
JineshjineshJinesh 2.4572 Huy hiệu vàng21 Huy hiệu bạc22 Huy hiệu đồng2 gold badges21 silver badges22 bronze badges Bạn chỉ có thể sử dụng toán tử bình đẳng: 0. Các đối tượng được kiểm tra bằng tham chiếu theo mặc định, vì vậy bạn thậm chí không cần sử dụng toán tử 1.Hãy thử điều này, chỉ cần đảm bảo rằng bạn đang sử dụng tham chiếu biến chính xác ở vị trí của 2: 1Chỉnh sửa để thêm: Một phần mở rộng mảng đã được đề cập, vì vậy đây là mã cho nó: 2Lưu ý rằng tôi đang lưu trữ giá trị độ dài, vì thuộc tính 3 của mảng thực sự là một người truy cập, chậm hơn một chút so với một biến nội bộ.
Fabiancook 20K16 Huy hiệu vàng66 Huy hiệu bạc112 Huy hiệu đồng16 gold badges66 silver badges112 bronze badges Đã trả lời ngày 3 tháng 1 năm 2011 lúc 18:28Jan 3, 2011 at 18:28
ZZZZBOVZZZZBOVzzzzBov 171K51 Huy hiệu vàng318 Huy hiệu bạc360 Huy hiệu đồng51 gold badges318 silver badges360 bronze badges 4 Tôi sẽ sử dụng một trình lặp chung của thuộc tính/giá trị trên mảng. Không cần jQuery. 3
Sampathsris 21K11 Huy hiệu vàng66 Huy hiệu bạc95 Huy hiệu Đồng11 gold badges66 silver badges95 bronze badges Đã trả lời ngày 28 tháng 2 năm 2015 lúc 5:15Feb 28, 2015 at 5:15
DeiudeiuDeiu 5075 Huy hiệu bạc4 Huy hiệu đồng5 silver badges4 bronze badges Bạn có thể thử sắp xếp mảng dựa trên một thuộc tính, như vậy: 4Sau đó bạn có thể sử dụng một thói quen lặp để kiểm tra xem có 5lớn hơn hoặc nhỏ hơn mục tiêu, v.v., sẽ cho phép bạn đi qua mảng một cách nhanh chóng để tìm thấy đối tượng có tồn tại hay không. Đã trả lời ngày 3 tháng 1 năm 2011 lúc 18:32Jan 3, 2011 at 18:32
Mạnh mẽRobusto 30,9k8 Huy hiệu vàng55 Huy hiệu bạc76 Huy hiệu đồng8 gold badges55 silver badges76 bronze badges Chỉnh sửa ngày 18/18/2022 Cách đơn giản nhất bằng cách sử dụng ES6: 6Sử dụng như vậy: 7Câu trả lời trước, không sử dụng (vì thứ tự của đạo cụ trong một đối tượng cần phải giống hệt nhau) 8Đã trả lời ngày 12 tháng 1 lúc 10:17Jan 12 at 10:17
Leon Voglerleon VoglerLeon Vogler 4404 Huy hiệu bạc6 Huy hiệu đồng4 silver badges6 bronze badges Hãy thử điều này, bạn có thể sử dụng phương thức JavaScript Một số () để tìm hiểu xem mảng JavaScript có chứa một đối tượng không. 9Đã trả lời ngày 14 tháng 8 lúc 12:06Aug 14 at 12:06
1 Tôi biết đây là một bài viết cũ, nhưng tôi muốn cung cấp phiên bản plugin jQuery và mã của tôi. 0usage: 1Đã trả lời ngày 23 tháng 10 năm 2014 lúc 14:06Oct 23, 2014 at 14:06
Rafael Herscovicirafael HerscoviciRafael Herscovici 16.1K19 Huy hiệu vàng62 Huy hiệu bạc93 Huy hiệu Đồng19 gold badges62 silver badges93 bronze badges Chức năng này là để kiểm tra một trường duy nhất. Arg 1: Mảng có dữ liệu đã chọn ARG 2: Khóa để kiểm tra Arg 3: Giá trị phải được "xác thực" 2Đã trả lời ngày 25 tháng 2 năm 2016 lúc 8:39Feb 25, 2016 at 8:39
Donny Van Vdonny Van VDonny van V 9211 Huy hiệu vàng10 Huy hiệu bạc20 Huy hiệu đồng1 gold badge10 silver badges20 bronze badges Bạn có thể sử dụng Array.find (). Trong trường hợp của bạn sẽ trông như thế này 3Nếu xe không phải là NULL, nó sẽ trả về đối tượng JavaScript có chứa chuỗi 'Ford'
about14sheep 1.4671 Huy hiệu vàng9 Huy hiệu bạc18 Huy hiệu đồng1 gold badge9 silver badges18 bronze badges Đã trả lời ngày 7 tháng 6 lúc 20:30Jun 7 at 20:30
Nếu nó có thể sử dụng es6 4Nếu nó đúng thì có sự tương đồng Đã trả lời ngày 15 tháng 3 lúc 14:18Mar 15 at 14:18
AmiramirAmir Phù hiệu bằng đồng 3133 bronze badges Bạn có thể chuyển đổi cả hai đối tượng JSON thành chuỗi và chỉ cần kiểm tra xem JSON lớn hơn có chứa JSON nhỏ hơn không. 5Đã trả lời ngày 25 tháng 3 lúc 3:04Mar 25 at 3:04
Harshita Sethiharshita SethiHarshita Sethi 1.8853 huy hiệu vàng23 Huy hiệu bạc45 Huy hiệu đồng3 gold badges23 silver badges45 bronze badges Bạn cũng có thể tìm thấy 6Đã trả lời ngày 27 tháng 9 lúc 12:42Sep 27 at 12:42
Làm cách nào để kiểm tra xem một đối tượng có chứa một mảng không?Phương thức isArray () được sử dụng để kiểm tra xem một đối tượng có phải là một mảng không. Mảng. Phương thức isArray () trả về true nếu một đối tượng là một mảng, nếu không thì trả về sai. Lưu ý: Đối với một mảng, toán tử typeof trả về một đối tượng. is used to check if an object is an array. The Array. isArray() method returns true if an object is an array, otherwise returns false . Note: For an array, the typeof operator returns an object.
Làm thế nào để bạn kiểm tra xem một mảng các đối tượng có giá trị trong JavaScript?Phương thức bao gồm () xác định xem một mảng bao gồm một giá trị nhất định trong số các mục của nó, trả về đúng hay sai khi thích hợp. determines whether an array includes a certain value among its entries, returning true or false as appropriate.
Làm thế nào để bạn kiểm tra xem một khóa có tồn tại trong một mảng các đối tượng JavaScript không?Sử dụng hàm HasownProperty () Hàm HasownProperty () sẽ kiểm tra sự tồn tại của khóa trong đối tượng đã cho và trả về đúng nếu khóa có mặt nếu không nó sẽ trả về sai.Hàm này lấy khóa của đối tượng làm tham số và trả về kết quả boolean tương ứng.
The function hasOwnProperty() will check for the existence of a key in the given object and returns true if the key is present or else it returns false. This function takes the key of the object as the parameter and returns the Boolean result accordingly.
Làm thế nào để tôi tìm thấy giá trị của một mảng các đối tượng?Kiểm tra xem mảng đối tượng có bao gồm đối tượng Chúng ta có thể sử dụng phương thức một số () để tìm kiếm theo nội dung của đối tượng.Phương thức một số () có một đối số chấp nhận một cuộc gọi lại, được thực thi một lần cho mỗi giá trị trong mảng cho đến khi tìm thấy một phần tử đáp ứng điều kiện được đặt bởi hàm gọi lại và trả về true.use the some() method to search by object's contents. The some() method takes one argument accepts a callback, which is executed once for each value in the array until it finds an element which meets the condition set by the callback function, and returns true . |