Javascript 可以规范化字符串吗?
我正在使用。我试图规范化字符串,但我没有弄明白Javascript 可以规范化字符串吗?,javascript,normalizr,Javascript,Normalizr,我正在使用。我试图规范化字符串,但我没有弄明白 const mails = [ { "id": "mailId1", "conversationId": "conversationId1", "content": "Hi", "sender": { "emailAddress": { name: 'Jack', address: 'jack@example.com' } } }, { "id": "mailId2",
const mails = [
{
"id": "mailId1",
"conversationId": "conversationId1",
"content": "Hi",
"sender": {
"emailAddress": { name: 'Jack', address: 'jack@example.com' }
}
},
{
"id": "mailId2",
"conversationId": "conversationId1",
"content": "Hello",
"sender": {
"emailAddress": { name: 'Rose', address: 'rose@example.com' }
}
}
]
const userSchema = new schema.Entity('users', {}, {
idAttribute: value => value.emailAddress.address
});
const conversationIdSchema = new schema.Entity('conversationIds', {}, {
idAttribute: value => value
});
const mailSchema = new schema.Entity('mails', {
conversationId: conversationIdSchema,
sender: userSchema
});
const normalizedData = normalize(mails, [mailSchema]);
现在,上面的代码将给出以下结果:
(注意conversationIdSchema
不工作,因为它是错误的)
我希望有这样的对话ID:
{
result: { mails: ['mailId1', 'mailId2'] },
entities: {
users: {
'jack@example.com': { name: 'Jack', address: 'jack@example.com' }
'rose@example.com': { name: 'Rose', address: 'rose@example.com' }
},
mails: {
// ...
},
conversationIds: ['conversationId1']
}
}
不,这是不可能的。normalizer处理对象,而不是字符串
{
result: { mails: ['mailId1', 'mailId2'] },
entities: {
users: {
'jack@example.com': { name: 'Jack', address: 'jack@example.com' }
'rose@example.com': { name: 'Rose', address: 'rose@example.com' }
},
mails: {
// ...
},
conversationIds: ['conversationId1']
}
}