Chúng tôi được yêu cầu viết một hàm JavaScript nhận hai mảng như vậy. Hàm của chúng ta sẽ trả về một phiên bản đã lọc mới của mảng đầu tiên (trong trường hợp này là mảng 1) chỉ chứa các đối tượng có thuộc tính tên không có trong mảng thứ hai (trong trường hợp này là mảng 2) có cùng thuộc tính tên Show Do đó, đầu ra, trong trường hợp này, sẽ giống như - const output = [{id:'2',name:'B'},{id:'4',name:'D'}]; Thí dụMã cho điều này sẽ là - const arr1 = [{id:'1',name:'A'},{id:'2',name:'B'},{id:'3',name:'C'},{id:'4',name:'D'}]; const arr2 = [{id:'1',name:'A',state:'healthy'},{id:'3',name:'C',state:'healthy'}]; const filterByReference = (arr1, arr2) => { let res = []; res = arr1.filter(el => { return !arr2.find(element => { return element.id === el.id; }); }); return res; } console.log(filterByReference(arr1, arr2)); đầu raVà đầu ra trong bảng điều khiển sẽ là - [ { id: '2', name: 'B' }, { id: '4', name: 'D' } ] Để lọc một mảng các đối tượng trong JavaScript theo bất kỳ thuộc tính nào, chúng ta có thể sử dụng phương thức Sử dụng bộ lọc để lọc mảng đối tượng dựa trên thuộc tínhĐã sao chép vào khay nhớ tạm. Sao chép Chúng ta có thể gọi phương thức này trên các mảng và nó mong đợi một hàm gọi lại. Phương thức Trong ví dụ mã trên, chúng tôi cố gắng lọc những người dùng có thuộc tính Điều này tương đương với ví dụ mã trênĐã sao chép vào khay nhớ tạm. Sao chép Phương thức 1 được trả về. Nếu true được trả về, bài kiểm tra được thông qua và mục được thêm vào một mảng mới. Nếu 1 được trả về, nó sẽ không được thêm vào mảng mớiTất nhiên, chúng ta không chỉ có thể làm điều này với các giá trị boolean mà còn với bất kỳ giá trị nào khác. Hãy tưởng tượng bạn có một danh sách các tệp với kích thước của chúng và bạn muốn lọc ra các tệp lớn. Bạn có thể làm như sau, trong đó bạn so sánh thuộc tính 4 với một giá trị cố định Lưu ý rằng tên của mục trong hàm gọi lại có thể là bất kỳ thứ gìĐã sao chép vào khay nhớ tạm. Sao chép Chúng ta cũng có thể trừu tượng hóa phương thức bộ lọc thành một hàm mà chúng ta có thể sử dụng lại để lọc theo bất kỳ thuộc tính boolean nào. Chúng ta có thể đạt được điều này với một dòng mã
Đã sao chép vào khay nhớ tạm. Sao chép Hàm này mong muốn một mảng được lọc và thuộc tính mà chúng ta đang tìm kiếm, sau đó ngay lập tức trả về một mảng mới bằng cách sử dụng Một điều khác cần lưu ý về phương thức Sử dụng chỉ mục và mảng làm tham số tùy chọn trong bộ lọcĐã sao chép vào khay nhớ tạm. Sao chép Bạn cũng muốn biết cách sắp xếp mảng? Cách sắp xếp mảng đối tượng trong JavaScriptTìm hiểu cách bạn có thể sắp xếp mảng đối tượng trong JavaScript dựa trên bất kỳ thuộc tính nào theo bất kỳ thứ tự nào bằng hàm trợ giúp đơn giảnLàm cách nào để lọc mảng đối tượng bằng mảng trong JavaScript?Người ta có thể sử dụng hàm filter() trong JavaScript để lọc mảng đối tượng dựa trên các thuộc tính . Hàm filter() sẽ trả về một mảng mới chứa tất cả các phần tử của mảng thỏa mãn điều kiện đã cho. Nếu không có phần tử nào vượt qua điều kiện, nó sẽ trả về một mảng trống.
Làm cách nào để lọc hai mảng đối tượng trong JavaScript?Bạn có thể sử dụng bộ lọc trong es5 hoặc js gốc để trừ hai đối tượng mảng . //Tìm dữ liệu có trong arrayObjOne nhưng không có trong arrayObjTwo var uniqueResultArrayObjOne = arrayObjOne. bộ lọc (chức năng (objOne) { trả về. mảngObjTwo.
Làm cách nào để lọc mảng đối tượng trong JavaScript ES6?ES6. Phương thức lọc mảng()
. Hàm là một vị từ, để kiểm tra từng phần tử của mảng. Trả về true để giữ phần tử, ngược lại là false. Nó chấp nhận ba đối số. yếu tố. Phần tử hiện tại đang được xử lý trong mảng.
Làm cách nào để lọc mảng đối tượng trong JavaScript theo id?Trong JavaScript, chúng ta có thể sử dụng Mảng. nguyên mẫu. phương thức find() để tìm đối tượng theo ID trong một mảng đối tượng. |