Hướng dẫn javascript find duplicates in multidimensional array - javascript tìm các bản sao trong mảng đa chiều

Về cơ bản, bạn lặp lại qua các mục và đẩy từng cái vào mảng mới nếu nó không có nó. Vấn đề là làm thế nào để so sánh các mục khác nhau, vì so sánh đối tượng như thế này sẽ mang lại sai:

[1,2] === [1,2]
// or this
[1,2] == [1,2]

Một trong những cách là chuyển đổi dữ liệu thành định dạng tương đương, thực hiện lặp lại và sau đó chuyển đổi mọi thứ trở lại:

var data = [[1,2], [1,1], [2,0], [1,2], [1,1]];

var noDupes = data
.map[function [item] {
  return JSON.stringify[item];
}]
.reduce[function [out, current] { 
  if [out.indexOf[current] === -1] out.push[current];
  return out;
}, []]
.map[function [item] {
  return JSON.parse[item];
}];

console.log[data, noDupes];

// [[1, 2], [1, 1], [2, 0], [1, 2], [1, 1]]
// [[1, 2], [1, 1], [2, 0]]

Rõ ràng, với cách tiếp cận này, bạn sẽ mất tài liệu tham khảo vật phẩm. Để giữ chúng, sử dụng:

var data = [[1,2], [1,1], [2,0], [1,2], [1,1]];

var dataUnique = data.reduce[function [out, item] {
  return out.concat[out.filter[function [comp] {
    return item.toString[] == comp.toString[];
  }].length ? [] : [item]]
}, []];

console.log[data, dataUnique];

// [[1,2], [1,1], [2,0], [1,2], [1,1]]
// [[1,2], [1,1], [2,0]]

Nhưng nó chỉ hoạt động nếu mục không chứa bất kỳ đối tượng nào.

Cập nhật [26.01.2016]:

Đây là phiên bản ES2015:

const uniquePairs = pairs => [...new Set[pairs.map[pair => JSON.stringify[pair]]]].map[pair => JSON.parse[pair]]

uniquePairs[[[1,2], [1,1], [2,0], [1,2], [1,1]]]
// [[1,2],[1,1],[2,0]]

Giải thích từng bước:

  1. Chuyển đổi cặp sang chuỗi so sánh. Lưu ý chức năng mũi tên được sử dụng ở đây:

    cặp.map [cặp => json.Stringify [cặp]]]=> JSON.stringify[pair]]]

  2. Sử dụng một thể hiện của bộ để chỉ nhận được các chuỗi duy nhất:

    Bộ mới [Pairs.map [Pair => json.Stringify [cặp]]]][pairs.map[pair => JSON.stringify[pair]]]

  3. Chuyển đổi Set thành mảng thông qua toán tử lan truyền:

    .

  4. Chuyển đổi nó trở lại cấu trúc mảng cặp ban đầu:

    ..map[pair => JSON.parse[pair]]

Nếu bạn lo lắng về hỗ trợ trình duyệt ES2015, hãy chuyển nó xuống ES5 bằng Babel hoặc các công cụ tương tự.

Bộ lọc lặp lại mảng đa chiều JavaScript với các ví dụ mã

Với bài viết này, chúng tôi sẽ kiểm tra một số trường hợp khác nhau về cách giải quyết vấn đề JavaScript đa chiều lặp lại của bộ lọc.

var arr = [[7,3], [7,3], [3,8], [7,3], [7,3], [1,2]];

arr.map[JSON.stringify].reverse[].filter[[e, i, a] => a.indexOf[e, i+1] === -1].reverse[].map[JSON.parse] // [[7,3], [3,8], [1,2]]

JavaScript repetition refetition JavaScript đã được giải quyết bằng một số kịch bản, như chúng ta đã thấy.

Làm thế nào để loại bỏ các bản sao trong mảng 2D JavaScript?

Làm thế nào để loại bỏ các bản sao theo mảng hai chiều javascript \ câu trả lời mã

  • mảng1 = mảng1. bộ lọc [function [val] {
  • trả về mảng2. indexof [val] == -1;
  • }];
  • // Hoặc, với sự sẵn có của ES6:
  • mảng1 = mảng1. bộ lọc [val =>! mảng2. Bao gồm [val]];

mảng1 = mảng1. bộ lọc [val =>! mảng2. Bao gồm [val]];

Làm thế nào để bạn loại bỏ các bản sao từ một mảng hai chiều?

Hủy bỏ các giá trị trùng lặp khỏi mảng đa chiều: Bước 1: Đầu tiên chúng ta sẽ sử dụng funtion serialize [] để tuần tự hóa mảng. Sau đó sử dụng MAP với chức năng Inbuilt Php. Bước 2: Sử dụng hàm unserialize [] để biến chuỗi tuần tự hóa thành giá trị PHP.13-Dec-2021

Làm thế nào để bạn loại bỏ các bản sao khỏi một mảng mảng?

Để loại bỏ các bản sao khỏi một mảng: Đầu tiên, hãy chuyển đổi một mảng các bản sao thành một tập hợp. Bộ mới sẽ ngầm loại bỏ các yếu tố trùng lặp. Sau đó, chuyển đổi bộ trở lại một mảng.

JavaScript có mảng đa chiều không?

JavaScript không có hỗ trợ sẵn có cho các mảng đa chiều, tuy nhiên ngôn ngữ đủ linh hoạt để bạn có thể mô phỏng hành vi này một cách dễ dàng bằng cách điền các mảng của bạn bằng các mảng riêng biệt, tạo cấu trúc đa cấp.31-AUG-2007

Mảng từ trong JS là gì?

Mảng. Từ [] phương thức trả về một mảng từ bất kỳ đối tượng nào có thuộc tính độ dài. Mảng. Từ [] phương thức trả về một mảng từ bất kỳ đối tượng có thể lặp lại.

Làm thế nào để bạn có được các giá trị duy nhất trong một mảng đa chiều?

Bạn có thể sử dụng chức năng duy nhất của mảng PHP cùng với các hàm mảng khác để nhận các giá trị duy nhất từ ​​một mảng đa chiều trong khi bảo tồn các phím.10-feb-2022

Làm thế nào tôi có thể loại bỏ các giá trị trùng lặp khỏi một mảng đa chiều trong PHP?

  • Tôi đang giải thích lý do tại sao chúng tôi sử dụng ‘sê -ri hóa và‘ unserialize, trong các bước:
  • Bước 1: Chuyển đổi mảng đa chiều thành mảng một chiều.
  • Bước 2: Làm cho các giá trị duy nhất.

Bước 3: Hoàn nguyên nó thành mảng đa chiều.

Làm thế nào chúng ta có thể tìm thấy các giá trị trùng lặp trong mảng đa chiều trong PHP?

  • “Kiểm tra các giá trị trùng lặp trong mảng đa chiều Php Câu trả lời
  • $ Counts = Array_Count_Values ​​[$ Array];
  • $ DUPLICATE_TITLE = mảng_Filter [$ mảng, hàm [$ value] Sử dụng [$ Counts] {
  • }];

// Hoặc, với sự sẵn có của ES6:

To remove the duplicates from an array of objects: Use the Array. filter[] method to filter the array of objects. Only include objects with unique IDs in the new array.25-Jul-2022

mảng1 = mảng1. bộ lọc [val =>! mảng2. Bao gồm [val]];

Làm thế nào để bạn loại bỏ các bản sao từ một mảng hai chiều?

Làm thế nào để bạn tìm thấy các bản sao trong hai mảng?

Các yếu tố trùng lặp có thể được tìm thấy bằng hai vòng. Vòng ngoài sẽ lặp qua mảng từ 0 đến chiều dài của mảng. Vòng lặp bên ngoài sẽ chọn một phần tử. Vòng bên trong sẽ được sử dụng để so sánh phần tử đã chọn với phần còn lại của các phần tử của mảng.using two loops. The outer loop will iterate through the array from 0 to length of the array. The outer loop will select an element. The inner loop will be used to compare the selected element with the rest of the elements of the array.

Làm thế nào để bạn loại bỏ các bản sao từ một mảng hai chiều trong java?

Loại bỏ các bản sao khỏi mảng java trong mảng chưa được phân loại nếu bạn có một mảng chưa được phân loại, trước tiên bạn phải sắp xếp nó.Sử dụng hàm mảng.sort [mảng] để thực hiện điều này.Đây là cách tiếp cận thứ hai để loại bỏ các bản sao khỏi mảng java.Use the Arrays. sort[arr] function to accomplish this. This is the second approach to remove duplicates from array Java.

Làm thế nào chúng ta có thể nhận được các giá trị trùng lặp trong mảng đa chiều trong PHP?

Để hợp nhất giá trị trùng lặp trong một mảng đa chiều trong PHP, trước tiên, hãy tạo một mảng trống sẽ chứa kết quả cuối cùng. Sau đó, chúng tôi lặp qua từng phần tử trong mảng và kiểm tra tính trùng lặp của nó bằng cách so sánh nó với các yếu tố khác.create an empty array that will contain the final result. Then we iterate through each element in the array and check for its duplicity by comparing it with other elements.

Có mảng đa chiều trong JavaScript không?

JavaScript không cung cấp mảng đa chiều nguyên bản.Tuy nhiên, bạn có thể tạo một mảng đa chiều bằng cách xác định một mảng các phần tử, trong đó mỗi phần tử cũng là một mảng khác.Vì lý do này, chúng ta có thể nói rằng một mảng đa chiều JavaScript là một mảng mảng.. However, you can create a multidimensional array by defining an array of elements, where each element is also another array. For this reason, we can say that a JavaScript multidimensional array is an array of arrays.

Bài Viết Liên Quan

Chủ Đề