Tôi có một mảng các đối tượng như sau trong máy chủ của tôi bên JS:JavaScript - Đếm bản sao trong một mảng các đối tượng
[
{
"Company": "IBM"
},
{
"Person": "ACORD LOMA"
},
{
"Company": "IBM"
},
{
"Company": "MSFT"
},
{
"Place": "New York"
}
]
tôi cần phải lặp qua cấu trúc này, phát hiện bất kỳ bản sao và sau đó tạo ra một tội danh một bản sao được tìm thấy dọc theo mỗi giá trị.
Cả hai giá trị phải khớp với nhau để đủ điều kiện là một bản sao, ví dụ: "Công ty": "IBM" không phù hợp với "Công ty": "MSFT".
Tôi có các tùy chọn thay đổi mảng nội dung đối tượng nếu cần. Tôi muốn đầu ra là một đối tượng, nhưng tôi thực sự đấu tranh để có được điều này để làm việc.
EDIT: Đây là mã tôi có cho đến nay, nơi processArray là mảng như được liệt kê ở trên.
var returnObj = {};
for(var x=0; x < processArray.length; x++){
//Check if we already have the array item as a key in the return obj
returnObj[processArray[x]] = returnObj[processArray[x]] || processArray[x].toString();
// Setup the count field
returnObj[processArray[x]].count = returnObj[processArray[x]].count || 1;
// Increment the count
returnObj[processArray[x]].count = returnObj[processArray[x]].count + 1;
}
console.log('====================' + JSON.stringify(returnObj));
bản sao có thể có của [Xóa bản sao khỏi một mảng đối tượng trong javascript] (http://stackoverflow.com/questions/2218999/remove-duplicates-from-an-array-of-objects-in-javascript) –
Và ** tại sao ** ai đó nên làm công việc này cho bạn? –
@RoyiNamir: hahaha nó không phải là tôi :) – Sarfraz