【发布时间】:2018-10-24 09:15:15
【问题描述】:
我有一个对象:
ids = [ "-LIof_e0hPtXKtkc4Uh9", "-LIjBcGO7m7VQ-B3pfYt" ]
如果我使用lodash 的.map 函数进行迭代
_.map(ids, (userID, key) => {
console.log('Lopping userId',userID);
})
它给了我每个 id 的价值。
现在,当我尝试使用 _remove 删除它时,它没有按预期工作。
_.remove(ids, (value, key, obj) => value == idToBeRemoved);
ids 对象仍然没有区别。
我对 angular4 非常陌生,并且是第一次使用 lodash。
我只是想从ids 对象中删除一个值并获取剩余的对象。
控制台打印。
我正在使用 firebase 并在从 firebase 检索数据后尝试删除数据:
deleteTransactWith(transactWithKey,transactWithUser) {
let currentUser = this._authService.getLoggedInUser();
console.log(transactWithUser.groups)
console.log(Object.keys(transactWithUser.groups).length)
console.log('key To remove',transactWithKey)
for (var key in transactWithUser.groups) {
if (transactWithUser.groups.hasOwnProperty(key)) {
let group = this.firebase.object(`/url/${currentUser.$key}/${key}`);
group.snapshotChanges().take(1).subscribe((groupData: any) => {
groupData = groupData.payload.toJSON();
//console.log('not removed',groupData.userIds)
console.log('key',transactWithKey)
_.remove(groupData.userIds, (value) => value == transactWithKey);
//_.pull(groupData.userIds, transactWithKey);
console.log('removed',groupData.userIds)
});
}
}
【问题讨论】:
-
你的
map函数是做什么的? -
没什么。我只是想检查键和值
-
“我有一个对象:”——不,你没有,你有一个数组
-
你有一个元素数组
-
我附上了控制台的图片
标签: javascript angular firebase lodash