将对象转换为键值对 Lodash

Transform Object to KeyValue pair Lodash

我有以下对象 [{"id":"123","username":"user1"},{"id":"456","username":"user2"}]

我想使用 lodash 将其转换为以下内容 [{key: "123", value: "user1"}, {key: "456", value: "user2"]

感谢您的帮助。

您可以执行以下任一操作:

const data = [{ id: '123', username: 'user1' }, { id: '456', username: 'user2' }]

// 1st
const aa = data.map(x => {
  return {
    key: x.id,
    value: x.username
  }
})
console.log(aa)

// 2nd
const bb = data.map(x => ({
  key: x.id,
  value: x.username
}))
console.log(bb)

如果您的对象是 obj,那么这个就可以了,使用 lodash/fp module:

_.map(_.mapKeys(k => ({id: "key", username: "value"})[k]), obj)

其中 _.map 正在对其第二个参数 obj 的每个元素执行其第一个参数;给定 obj 的一个元素,_.mapKeys(f)f 应用于其 k => /* stuff */ 使用 k 作为键查找连接 id/usernamekey/value 的对象。