如何使用复选框选择修改数组(现在只需要修改一些东西)

时间:2016-11-27 02:58:35

标签: javascript arrays

我会尽量做空,然后才能达到目的。

当我选择一个角色时,它会将其添加到具有角色名称的数组中,以及是否选中(使用true或false)。实际上,数组以下列方式保存:

[
  {
    "name": "CDB_DBA",
    "selected": true
  },
  {
    "name": "CONNECT",
    "selected": true
  }
]

我需要以这种方式保存它(使用我从复选框列表中选择的角色):

["CDB_DBA", "CONNECT"]

数组包含所选的角色,我确信它很容易改变,但我是新手,需要一些帮助。先感谢您。这是该项目的JSBin链接:

JSBin Project

2 个答案:

答案 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);
    }