簡體   English   中英

node/angular js 如何在對象數組中查找空屬性

[英]node/angular js how to find null attributes in an array of objects

在 lodash 中有沒有更好的方法來做到這一點? 我基本上試圖找到所有具有空值的鍵。

var data = [
  { user: 'John', pos: null },
  { user: 'Tim', age: 40 },
  { user: 'Dave', age: null }
];
$scope.parsed = [];
_.each(data, function(obj) {
  _.each(_.keys(obj), function(k){
    if (obj[k] === null) {
      $scope.parsed.push(k);
    }
  })
});
console.info($scope.parsed);

輸出:["pos","age"]

謝謝!

嘗試這個

 var data = [ { user: 'John', pos: null }, { user: 'Tim', age: 40 }, { user: 'Dave', age: null } ]; var result = _(data) .map(function (element) { return _.keys(_.pick(element, _.isNull)); }) .flatten() .value(); console.log(result);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>

不確定你如何定義“更好”,但我認為這是一個更實用的答案 - 過濾那些值為空的元素

$scope.parsed = _.filter(data, function(d) {
    return (_.values(d).indexOf(null) !== -1);
}

 var data = [{ user: 'John', pos: null }, { user: 'Tim', age: 40 }, { user: 'Dave', age: null }]; parsed = _.filter(data, function(d) { return (_.values(d).indexOf(null) !== -1); }); console.log(parsed);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>

暫無
暫無

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

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