簡體   English   中英

如何使用 Lodash 從數組中刪除對象?

[英]How can I remove object from array, with Lodash?

我正在嘗試使用 Lodash 從數組中刪除一個對象。

server.js (使用 NodeJS)中:

    var lodash = require('lodash')();

    var rooms = [
      { channel: 'room-a', name: 'test' },
      { channel: 'room-b', name: 'test' } 
    ]

我嘗試了兩個命令,但沒有用:

    var result = lodash.find(rooms, {channel: 'room-a', name:'test'});
    var result = lodash.pull(rooms, lodash.find(rooms, {channel: 'room-a', name:'test'}));

這是console.log(result)的輸出:

    LodashWrapper {
      __wrapped__: undefined,
      __actions__: [ { func: [Function], args: [Object], thisArg: [Object] } ],
      __chain__: false,
      __index__: 0,
      __values__: undefined }

有人可以幫助我嗎? 謝謝!

_.remove()是一個不錯的選擇。

 var rooms = [ { channel: 'room-a', name: 'test' }, { channel: 'room-b', name: 'test' } ]; _.remove(rooms, {channel: 'room-b'}); console.log(rooms); //[{"channel": "room-a", "name": "test"}]
 <script src="https://cdn.jsdelivr.net/lodash/4.14.2/lodash.min.js"></script>

在這種情況下,我會選擇reject() 更少的代碼:

var result = _.reject(rooms, { channel: 'room-a', name: 'test' });
require('lodash')()

調用lodash函數(通過() )會創建一個包裝undefined的 LoDash 對象。

那不是你想要的; 你想要lodash函數本身,它包含靜態方法。

去掉那個。

暫無
暫無

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

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