我有以下数组
[
{
"membershipId": "ckktojfvl2510541qu2xlfli79q",
"key": "ckkt9j5uq59711qu2hod0pgln",
"isUser": true,
"firstName": "Jennifer",
"lastName": "Lopez",
"name": "Jennifer Lopez",
"DOB": "12/31/1969",
"age": 51,
"email": "jlo@me.com",
},
{
"membershipId": "ckotgsxdz107481p2vo6r0mb0l",
"key": "ckotgs3xo56081p2v2ek518pb",
"isUser": true,
"firstName": "Richard",
"lastName": "Rizk",
"name": "Richard Rizk",
"DOB": "Invalid date",
"age": "-",
"email": "nadia@me.com",
},
{
"membershipId": undefined,
"key": "ckotgs3xo56081p2v2ek518pb",
"isUser": true,
"firstName": "Richard",
"lastName": "Rizk",
"name": "Richard Rizk",
"DOB": "Invalid date",
"age": "-",
"email": "nadia@me.com",
},
{
"membershipId": undefined,
"key": "ckothigbd244581p2vfy5tihls",
"isUser": false,
"firstName": "Profile",
"lastName": "Last",
"name": "Profile Last",
"DOB": "05/17/1986",
"age": 35,
"email": "",
}
]
该数组有四个对象,但其中两个在某种程度上是相同的。
我需要删除 memberId 等于 UNDEFINED 的重复项并保留另一个。
有人可以帮我吗?
答案 0 :(得分:-1)
尝试使用:
var data = [
{
"membershipId": "ckktojfvl2510541qu2xlfli79q",
"key": "ckkt9j5uq59711qu2hod0pgln",
"isUser": true,
"firstName": "Jennifer",
"lastName": "Lopez",
"name": "Jennifer Lopez",
"DOB": "12/31/1969",
"age": 51,
"email": "jlo@me.com",
},
{
"membershipId": "ckotgsxdz107481p2vo6r0mb0l",
"key": "ckotgs3xo56081p2v2ek518pb",
"isUser": true,
"firstName": "Richard",
"lastName": "Rizk",
"name": "Richard Rizk",
"DOB": "Invalid date",
"age": "-",
"email": "nadia@me.com",
},
{
"membershipId": undefined,
"key": "ckotgs3xo56081p2v2ek518pb",
"isUser": true,
"firstName": "Richard",
"lastName": "Rizk",
"name": "Richard Rizk",
"DOB": "Invalid date",
"age": "-",
"email": "nadia@me.com",
},
{
"membershipId": undefined,
"key": "ckothigbd244581p2vfy5tihls",
"isUser": false,
"firstName": "Profile",
"lastName": "Last",
"name": "Profile Last",
"DOB": "05/17/1986",
"age": 35,
"email": "",
}
];
console.log(data.filter((item)=>item.membershipId));
答案 1 :(得分:-1)
如果有另一个具有相同键和定义的 membershipId
的元素,您可以通过这种方式删除未定义的 membershipId
元素。它创建一个包含所有键的数组,其中 membershipId
不是未定义的。然后创建另一个包含元素的数组,其中 membershipId
不是未定义的或者键在前一个数组中不存在(这意味着没有重复定义的 membershipId
)。
let data = [
{
"membershipId": "ckktojfvl2510541qu2xlfli79q",
"key": "ckkt9j5uq59711qu2hod0pgln",
"isUser": true,
"firstName": "Jennifer",
"lastName": "Lopez",
"name": "Jennifer Lopez",
"DOB": "12/31/1969",
"age": 51,
"email": "jlo@me.com",
},
{
"membershipId": "ckotgsxdz107481p2vo6r0mb0l",
"key": "ckotgs3xo56081p2v2ek518pb",
"isUser": true,
"firstName": "Richard",
"lastName": "Rizk",
"name": "Richard Rizk",
"DOB": "Invalid date",
"age": "-",
"email": "nadia@me.com",
},
{
"membershipId": undefined,
"key": "ckotgs3xo56081p2v2ek518pb",
"isUser": true,
"firstName": "Richard",
"lastName": "Rizk",
"name": "Richard Rizk",
"DOB": "Invalid date",
"age": "-",
"email": "nadia@me.com",
},
{
"membershipId": undefined,
"key": "ckothigbd244581p2vfy5tihls",
"isUser": false,
"firstName": "Profile",
"lastName": "Last",
"name": "Profile Last",
"DOB": "05/17/1986",
"age": 35,
"email": "",
}
]
let keys = data.filter(e=>e.membershipId!==undefined).map(e=>e.key)
let result = data.filter(e=>(e.membershipId!==undefined || !keys.includes(e.key)))
console.log(result)