javascript - 尝试简化检查对象键是否为真并将其推送到另一个对象

标签 javascript angularjs forms

我正在构建一个表单,通过根据用户选择的复选框构建 GET 请求查询字符串来与远程 API 交互。

我最初的想法是做一份 if/else 检查的 list ,以查看模型对象键是否为真,然后仅使用对象键名称创建一个干净的数组。但是,是否有更自动化的方法来做到这一点?

我正在思考 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 数组?

最佳答案

foreach 有一个项目(数组中的对象/基元)和一个键。 所以你的pushData得到一个名为“true”的键(项目的值)而不是名称(键)。

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

关于javascript - 尝试简化检查对象键是否为真并将其推送到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37176562/

相关文章:

javascript - 类型错误 : Cannot read property 'constructor' of undefined

javascript - 无法从工厂 AngularJS 中的 JSON 文件中提取数据

php - 如何将 CSS 应用于提交按钮

javascript - 按 Enter 总是提交表单

javascript - 未捕获的类型错误 : Converting circular structure to JSON (only on Chrome)

javascript - 如何从 javascript 获取 Meteor 的 MongoDB URL

javascript - 提交时仅清除 HTML 表单中的特定字段

javascript - 使用 jQuery 从强制布局节点中删除所有 .fixed 类

javascript - 在 GET 响应中看不到 JSON 字段( Mongoose )

javascript - 如何从javascript设置html表单的属性