热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何将数组转换为数组对象并将两个数组合并为一个数组?

constabsentStudentsId=[78,15,41,30]//======>[{stdId:78,isPresent:false},

const absentStudentsId = [78, 15, 41, 30] // ======> [{stdId: 78, isPresent: false}, {stdId: 15, isPresent: false}, {stdId: 41, isPresent: false}, {stdId: 30, isPresent: false}]
const presentStudentsId = [80, 61] // ======> [{stdId: 80, isPresent: true}, {stdId: 61, isPresent: true}]
const students = [
{ stdId: 78, isPresent: false },
{ stdId: 15, isPresent: false },
{ stdId: 41, isPresent: false },
{ stdId: 30, isPresent: false },
{ stdId: 80, isPresent: true },
{ stdId: 61, isPresent: true },
]

我想实现您在注释行中看到的逻辑。

回答

您可以关闭isPresent并映射新对象。


const
buildObject = isPresent => stdId => ({ stdId, isPresent }),
absentStudentsId = [78, 15, 41, 30],
presentStudentsId = [80, 61],
students = [
...absentStudentsId.map(buildObject(false)),
...presentStudentsId.map(buildObject(true))
];console.log(students);

.as-console-wrapper { max-height: 100% !important; top: 0; }



  • @SinanYaman correct. [It's a curried function](https://stackoverflow.com/questions/32782922/what-do-multiple-arrow-functions-mean-in-Javascript)






推荐阅读
author-avatar
贤慧201077
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有