[英]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.