簡體   English   中英

如何向對象添加數組,但是為每個數組元素過濾除了一列以外的所有數組?

[英]How can I add an array to an object but filter out all but one column for each array element?

我的頁面上有一個名為answers的數組,如下所示:

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

希望我寫得正確。 答案數組中有一個可變數量的行(這次是三個,但可能是十個以下的任何行)。 每行包含一個x字段和一個r字段。

有人可以告訴我如何添加答案數組(或重新創建另一個類似的數組),但只​​有答案數組的每一行的r字段為以下對象:

$scope.so.xHeaders[fromParams]

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

var newList = _.pluck(answers, 'r');

你可以這樣做:

$scope.so.xHeaders = []
angular.forEach(answers, function(value, index) {
    $scope.so.xHeaders.push({ r: value.r });
});

根據您的需要,有幾種方法可以做到這一點。

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

小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM