如何更新我收藏的照片对象数组上的标志
How do I update a flag on a array of Photo objects that I favorited a particular photo?
我有一个简单的照片分类数组,看起来像这样:
[
{
category: 1001,
photos: [
{ id: 100101, url: 'url.com/100101', favorite: false},
{ id: 100102, url: 'url.com/100102', favorite: false}
]
},
{
category: 1002,
photos: [
{ id: 100201, url: 'url.com/100201', favorite: false},
{ id: 100202, url: 'url.com/100202', favorite: false}
]
}
]
如果我最喜欢的photoId 100201,我如何更新我的数组,使100201更新为favorite: true
?我想看看lodash文档,但我不确定我应该找什么。
谢谢
假设该数组存储在名为categories
的变量中,并假设(根据您提供的数据)每个照片id都以确切的类别id开头,则:
function inCategory(category: string, id: string): boolean {
return id.substring(0, category.length) === category;
}
function favorite(photoId: number): void {
for (let i = 0; i < categories.length; i++) {
if (inCategory(categories[i].category.toString(), photoId.toString())) {
for (let j = 0; j < categories[i].photos.length; j++) {
if (categories[i].photos[j].id === photoId) {
categories[i].photos[j].favorite = true;
}
}
}
}
}
(code in playground)
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 漂亮照片图片库中的Facebook赞按钮
- 图片照片库
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 如何更新我收藏的照片对象数组上的标志