1

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

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

希望我写得正确。answers 数组中有可变数量的行(这次是三行,但可能小于十行)。每行包含一个x字段和一个r字段。

有人可以告诉我如何添加 answers 数组(或重新创建另一个类似的数组),但只​​有 answers 数组每一行的 r 字段到以下对象:

$scope.so.xHeaders[fromParams]
4

3 回答 3

1

您可以在 Underscore.js 中使用pluck方法:

var newList = _.pluck(answers, 'r');
于 2013-11-14T11:59:00.067 回答
1

你可以这样做:

$scope.so.xHeaders = []
angular.forEach(answers, function(value, index) {
    $scope.so.xHeaders.push({ r: value.r });
});
于 2013-11-14T11:59:25.117 回答
1

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

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}]

小提琴

于 2013-11-14T12:00:22.803 回答