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']
  }
}