javascript - 如何在 JavaScript 中为每个对象插入序列号
问题描述
我正在尝试制作一个 housie/bingo 游戏的 JavaScript 游戏。我使用了库 npm tambola-generator,它返回自动生成的票证。
服务器端进程生成一个类似于这个的数组......
[{
"_entries": [[0,17,0,0,41,53,0,78,86], [4,0,0,35,0,58,67,80,0]/*, [ ... ] */],
}, {
"_entries": [[0,16,23,0,41,51,0,0,88], [2,20,0,31,43,56,0,0,0]/*, [ ... ] */],
}, {
"_entries": [[0,0,23,33,0,51,0,73,87], [1,0,0,35,42,58,68,0,0]/*, [ ... ] */],
}, {
// ... more items like that ...
}]
我希望每张票都有一个序列号,该序列号应该等于票项的数组索引,但以基数开头1
而不是0
.
如何包含这样的票号以便我可以管理玩家的票?
我只是一个初学者,我无法解决它。上述示例代码的目标结构应如下所示...
[{
"ticketNum": 1,
"_entries": [[0,17,0,0,41,53,0,78,86], [4,0,0,35,0,58,67,80,0]/*, [ ... ] */],
}, {
"ticketNum": 2,
"_entries": [[0,16,23,0,41,51,0,0,88], [2,20,0,31,43,56,0,0,0]/*, [ ... ] */],
}, {
"ticketNum": 3,
"_entries": [[0,0,23,33,0,51,0,73,87], [1,0,0,35,42,58,68,0,0]/*, [ ... ] */],
}, {
// ... more items like that ...
}]
解决方案
仅Array.prototype.map
用于完成此任务。
const entries = [{
"_entries": [
[0, 17, 0, 0, 41, 53, 0, 78, 86],
[4, 0, 0, 35, 0, 58, 67, 80, 0]
],
}, {
"_entries": [
[0, 16, 23, 0, 41, 51, 0, 0, 88],
[2, 20, 0, 31, 43, 56, 0, 0, 0]
],
}, {
"_entries": [
[0, 0, 23, 33, 0, 51, 0, 73, 87],
[1, 0, 0, 35, 42, 58, 68, 0, 0]
],
}];
const tcktEntries = entries.map((entry, index) => {
return {
ticketNum: index + 1,
...entry
};
});
console.log({
tcktEntries
});
.as-console-wrapper {
min-height: 100%!important;
top: 0;
}
推荐阅读
- ios - 如何用荷兰语以小时(uur)显示荷兰时间?
- python - 使用 BOTO3 ,如何仅按日期过滤和描述快照
- c++ - 如何修复无法打开源文件:'seal/util/config.h'
- c++ - 自终止线程。使用加入或分离
- android - Retrofit 2.6.0:自定义协程 CallAdapterFactory
- json - json.decoder.JSONDecodeError 与 Python3 中的 Google Translate API
- three.js - 无法添加到场景 - 伪造查看器。错误:“THREE.Object3D.add:对象不是 THREE.Object3D 的实例。”
- php - 根据日期时间值更改实体状态
- r - 如何根据闪亮应用程序中复选框的输入设置数据框中某些行的样式?
- python-3.x - Scrapy蜘蛛没有将项目保存到PostgreSQL数据库