通过根据用户选择的复选框构建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 数组?
答案 0 :(得分:1)
为什么不直接使用for循环?
function submit(){
var pushData = [];
for (var prop in data) {
if (data[prop] === true) {
pushData.push(prop);
}
}
return pushData;
}
答案 1 :(得分:1)
foreach有一个项目(数组中的对象/原语)和一个键。 所以你的pushData获得了一个名为" true"(item的值)而不是名称(键)的键。
var pushData = [];
angular.foreach(vm.export, function(item, key){
if (item === true) {
pushData[key];
}
});