簡體   English   中英

嘗試簡化檢查對象鍵是否為真並將其推到另一個對象

[英]Trying simplify checking if object key is true and pushing it to another object

我通過基於用戶選擇的復選框構建GET請求查詢字符串來構建與遠程API交互的表單。

我最初的想法是制作一個if / else檢查清單,以查看模型對象鍵是否為真,然后僅從對象鍵名中創建一個干凈的數組。 但是,會有更自動化的方法嗎?

我當時正在按照angular.foreach的思路進行思考,但無法弄清楚如何獲取對象鍵名稱作為值。

例如:

function submit() {
  var pushData = [];
  angular.foreach(vm.export, function(item, index){
    if (item == true) {
      pushData[item];
    }
  })
}

這是它從中提取的對象:

vm.export = {
  'servers': true,
  'apps': false,
  'users': true,
  'userID': 1234
}

如何將具有TRUE值的鍵名推送到pushData數組?

為什么不只使用for in循環?

工作實例

function submit(){
  var pushData = [];
  for (var prop in data) {
    if (data[prop] === true) {
      pushData.push(prop);
    }
  }
  return pushData;
}

foreach有一個項目(數組中的對象/基元)和一個鍵。 因此您的pushData會獲得一個名為“ true”(項的值)的鍵,而不是名稱(該鍵)。

var pushData = [];
angular.foreach(vm.export, function(item, key){
if (item === true) {
    pushData[key];
  }
});

暫無
暫無

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

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