问题 我有一个 Javascript 数组,我试图以最有效的方式仅返回与特定键匹配的键:值对。
我尝试过使用 Foreach 循环并将每个键:值推送到一个新数组,但这似乎是一种低效的方法,而且过于复杂。
代码
initialArray = [ { friends: [],
otherFriends: [],
_id: 5c6c7132f9bf4bdab9c906ff,
user: 5c65d9438e4a834c8e85dd7d,
password: '$2b$10$LMFB6CBdwxSAfjog/Uo3t.u/G0GBtzfJnYdpvlrSNchA9.jlNOdAa',
email: 'sparky2df3dfdfdf2@gmail.com',
createdAt: 2019-02-19T21:12:18.569Z,
updatedAt: null,
online: false,
__v: 0 },
{ friends: [],
otherFriends: [],
_id: 5c6ccd6d3a0dc4e4951c2bee,
user: 5c65d9438e4a834c8e85dd7e,
password: '$2b$10$gEAbOAdKyHJfAksr5txUNOudCautRs1w/pubplQKzZ5PefhfOOEhq',
email: 'fdagssd@gmail.com',
createdAt: 2019-02-20T03:45:49.703Z,
updatedAt: null,
online: false,
__v: 0 } ]
所需数组
[
{ user: 5c65d9438e4a834c8e85dd7d },
{ user: 5c65d9438e4a834c8e85dd7e }
]
当前方法
const newArray = []
initialArray.forEach(element => {
newArray.push({key: element.user});
});
如果有人有任何建议,那就太棒了!预先感谢:)
最佳答案
您可以使用destructuring assignment对于用户
并映射此short hand property .
var initialArray = [{ friends: [], otherFriends: [], _id: '5c6c7132f9bf4bdab9c906ff', user: '5c65d9438e4a834c8e85dd7d', password: '$2b$10$LMFB6CBdwxSAfjog/Uo3t.u/G0GBtzfJnYdpvlrSNchA9.jlNOdAa', email: 'sparky2df3dfdfdf2@gmail.com', createdAt: '2019-02-19T21:12:18.569Z', updatedAt: null, online: false, __v: 0 }, { friends: [], otherFriends: [], _id: '5c6ccd6d3a0dc4e4951c2bee', user: '5c65d9438e4a834c8e85dd7e', password: '$2b$10$gEAbOAdKyHJfAksr5txUNOudCautRs1w/pubplQKzZ5PefhfOOEhq', email: 'fdagssd@gmail.com', createdAt: '2019-02-20T03:45:49.703Z', updatedAt: null, online: false, __v: 0 }]
newArray = initialArray.map(({ user }) => ({ user }));
console.log(newArray);
关于JavaScript 数组,返回键 :value pairs with specific key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55640674/