我有一个对象数组,我想从一个旧数组构造一个新数组,而没有旧数组的某些属性。
例如,我有一个这样的对象数组
// JSON WEB TOKENS STRATEGY
passport.use(new JwtStrategy({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: config.JWT_SECRET
}, async (payload, done) => {
console.log("Find by pk, JWT strategy:", payload.sub)
db.User.findByPk(payload.sub, {
请我如何构造一个具有与上面相同的属性但没有likes数组的新数组:例如,如下所示:
[
{
"userImages": [
"url to image here"
],
"likes": [
{
"userImages": [
"url to image here"
],
"likes": [
"5ea708a40c244528c0e076c8"
],
"_id": "5ea708a40c244528c0e076c8",
"name": "Lee",
"gender": "male"
}
],
"_id": "5ec95161fc8ed82bc4d66279",
"gender": "male",
"name": "Aahan Aarav"
},
{
"userImages": [
"url to image"
],
"likes": [
{
"userImages": [
"url to image here"
],
"likes": [
"5ec95161fc8ed82bc4d66279",
],
"_id": "5ea708a40c244528c0e076c8",
"name": "Lee",
"gender": "male"
}
],
"_id": "5ec95161fc8ed82bc4d66277",
"gender": "female",
"name": "Rajiv Rakesh"
}
]
答案 0 :(得分:0)
在现代环境中(直接或通过转译),您可以将map
与解构和对象文字一起使用,以轻松挑选所需的属性并使用它们来创建新对象,也许可以使用箭头功能:>
const result = original.map(
// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv−−− destructuring to pick out the desired props
({userImages, _id, gender, name}) => ({userImages, _id, gender, name})
// Object literal with shorthand props−−−−^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
);
实时示例:
const original = [
{
"userImages": [
"url to image here"
],
"likes": [
{
"userImages": [
"url to image here"
],
"likes": [
"5ea708a40c244528c0e076c8"
],
"_id": "5ea708a40c244528c0e076c8",
"name": "Lee",
"gender": "male"
}
],
"_id": "5ec95161fc8ed82bc4d66279",
"gender": "male",
"name": "Aahan Aarav"
},
{
"userImages": [
"url to image"
],
"likes": [
{
"userImages": [
"url to image here"
],
"likes": [
"5ec95161fc8ed82bc4d66279",
],
"_id": "5ea708a40c244528c0e076c8",
"name": "Lee",
"gender": "male"
}
],
"_id": "5ec95161fc8ed82bc4d66277",
"gender": "female",
"name": "Rajiv Rakesh"
}
];
const result = original.map(({userImages, _id, gender, name}) => ({userImages, _id, gender, name}));
console.log(result);
.as-console-wrapper {
max-height: 100% !important;
}