javascript - 如何将数组添加到对象,但过滤掉每个数组元素中除一列以外的所有列?

标签 javascript angularjs

我的页面上有一个名为 answers 的数组,如下所示:

answers[{x: 1, r: true;},{x: 2,r: false;},{x: 3, r: true;}]

希望我写对了。 answers 数组中的行数是可变的(这次是三行,但也可以少于十行)。每行包含一个 x 字段和一个 r 字段。

有人能告诉我如何添加答案数组(或重新创建另一个类似的数组)但仅将答案数组每一行的 r 字段添加到以下对象:

$scope.so.xHeaders[fromParams]

最佳答案

根据您的需要,有几种方法可以做到这一点。

var answers = [{x: 1, r: true},{x: 2, r: false},{x: 3, r: true}]

1) 如果您只想要一个值数组:

var arr = answers.map(function(el){
  return el.r;
}, []);

console.log(arr) // [true, false, true]

2) 如果要返回对象但只包含 r 值:

var arr = answers.map(function(el){
  var obj = {};
  obj.r = el.r;
  return obj;
}, []);

(或更短):

var arr = answers.map(function(el){
  return { r: el.r };
}, []);

console.log(arr) // [Object { r=true}, Object { r=false}, Object { r=true}]

Fiddle .

关于javascript - 如何将数组添加到对象,但过滤掉每个数组元素中除一列以外的所有列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19976889/

相关文章:

javascript - d3线不画

javascript - 设置不转发到网站的 cookie

javascript - AngularJS:如何在配置阶段使用 $q 进行单元测试?

javascript - 如何使用angular $http发送FormData

javascript - 可以使用 jQuery 与 'enter' 和 'change' 进行 OR 绑定(bind)吗?

javascript - 将 Jquery 脚本与 AJAX 相结合

javascript - 添加新文本内容后归档/保存 HTML 文档,并将更改保留在 .html 文件中

javascript - 我如何从 Angular 服务中获取数据

使用 "controller as"语法的 AngularJS Controller 单元测试

javascript - 如何在 AngularJS 中更改另一个下拉列表时更新多个下拉值