簡體   English   中英

使用Underscore.js篩選條件條件的對象

[英]filter an object with condition using Underscore.js

我在我的應用程序中使用Underscore.js庫。 我有一個對象

{a:"1", b:"2", c: "3", d:"no", e: "no"}

我想將此對象壓縮為僅具有不具有“ no”屬性的屬性,這應導致以下對象

    {a:"1", b:"2", c: "3"}

在Uderscore.js中,我使用了以下代碼

_.omit(obj, 'attr');

但是在上面的代碼中,我需要一個函數來輸出no包含no值的鍵,而不是'attr'。 有一個更好的方法嗎。 請讓我知道如何獲取具有“ no”值的鍵。

您可以使用_.omit作為

var obj = {a:"1", b:"2", c: "3", d:"no", e: "no"};
// _.omit returns a copy of the object
obj = _.omit(obj, function(value, key, object) {
  return (value == "no");
});
console.log(obj);

下划線的_.omit()也接受一個“謂詞”,這是它們與_.filter()相似的函數的術語:

 var o = {a:"1", b:"2", c: "3", d:"no", e: "no"} console.log(_.omit(o, function(v){ return v === 'no'; })); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script> 

暫無
暫無

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

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