簡體   English   中英

lodash _.remove 無法處理對象內容

[英]lodash _.remove not working on an object content

我不能讓 lodash _.remove 在看起來像這樣的對象內容中工作

content: { 
 code: '8d303377',
 type: 'content',
 repositoryCode: 'default',
 externalLocations: 
  { 
   binaries: 
    { 
      medium: 'http://localhost:4000/image-medium.jpg',
      small: '' 
    } 
  } 
 }

我想刪除帶有空字符串(小)的條目。 我試過這個

 _.remove(content.externalLocations.binaries, function () {
     return content.externalLocations.binaries[req.params.variant] === req.body.url;
 });

req.params.variant的值== 小

我也試過這個

_.forEach(content.externalLocations, function (binary) {
    _.remove(binary[req.params.variant], { [req.params.variant]: req.body.url });
});

看起來您正在嘗試從值等於req.body.url binaries刪除條目,您可以執行以下操作:

_.each(content.externalLocations.binaries, (value, key, obj) => {
    if (req.params.variant === key && req.body.url === value) {
      _.unset(obj, key);
    }
})

_.remove狀態的文檔

數組中刪除謂詞返回真值的所有元素,並返回已刪除元素的數組 [...]
強調我的

您的binaries對象不是數組。如果要刪除對象屬性,請使用delete

delete content.externalLocations.binaries[req.params.variant];

 var content = { code: '8d303377', type: 'content', repositoryCode: 'default', externalLocations: { binaries: { medium: 'http://localhost:4000/image-medium.jpg', small: '' } } }; delete content.externalLocations.binaries.small; console.log(content)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM