簡體   English   中英

如何從對象數組的屬性返回數組

[英]How to return an array from properties of an array of objects

我有一個對象數組,如下所示:

var lanes = [
{
 "name" : "Breakfast Special",
 "className" : "breakfast-special",
 "sales" : 200,
 "redemptions" : 137
},
{
 "name" : "Free Danish",
 "className" : "free-danish",
 "sales" : 300,
 "redemptions" : 237
},
{
 "name" : "Half Price Coffee",
 "className" : "half-price-coffee",
 "sales" : 240,
 "redemptions" : 37
}];

我想創建一個僅包含為“兌現”存儲的數值的數組。 我可以按以下方式訪問值:

lanes[0].redemptions;

通過使用循環遍歷每個對象,但我正在尋找一種有效的方法來執行此操作。

我嘗試使用map函數,如下所示:

var arrayRedemptions = lanes.map(function () {return this.redemptions});

但這不起作用。 任何幫助,將不勝感激。

你很親密

采用

var arrayRedemptions = lanes.map(function(obj) {
    return obj.redemptions
});

是的。 在地圖內部,您可以使用這些參數(每個項目,索引,數組

var arrayRedemptions = lanes.map(function (item, index, array) {
    return item ? item.redemptions : -1;
});

在添加額外檢查后,尤其是在使用“自動生成的內容”時:

var arrayRedemptions = array.map(function(obj) {
    if (obj) 
        return obj.redemptions;
    else
        return -1;
}); 

暫無
暫無

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

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