我会尽量做空,然后才能达到目的。
当我选择一个角色时,它会将其添加到具有角色名称的数组中,以及是否选中(使用true或false)。实际上,数组以下列方式保存:
[
{
"name": "CDB_DBA",
"selected": true
},
{
"name": "CONNECT",
"selected": true
}
]
我需要以这种方式保存它(使用我从复选框列表中选择的角色):
["CDB_DBA", "CONNECT"]
数组包含所选的角色,我确信它很容易改变,但我是新手,需要一些帮助。先感谢您。这是该项目的JSBin链接:
答案 0 :(得分:1)
如果要将较高格式的数组转换为较低格式,可以使用Array.filter
过滤掉selected
元素,然后Array.map
选出MDN closures 1}}属性:
name
请注意,这会使var input = [
{
"name": "foo",
"selected": false
},
{
"name": "bar",
"selected": true
},
{
"name": "memes",
"selected": false
},
{
"name": "quux",
"selected": true
},
{
"name": "xyzzy",
"selected": false
},
{
"name": "corn",
"selected": true
}
];
var output = input
.filter(obj => obj.selected) // filter out non-selected elements
.map(obj => obj.name); // just get the name
console.log(output);
保持不变; input
是一个新数组。
答案 1 :(得分:1)
我已经通过创建一个新数组并在检查复选框
的同时将值推入该数组来更新链接你能检查一下吗?如果没有,请简要解释一下。
请查看以下链接
http://jsbin.com/huwepirolo/edit?html,js,output
$scope.updateArray= function(value){
alert(value);
$scope.array.push(value);
}