返回满足属性条件的所有数组

时间:2017-01-27 08:49:31

标签: javascript arrays properties return

我正在尝试返回满足条件的所有数组 属性gmarker[i].pricefirsthour等于2.我如何实现这一目标?以下是样本:

for (var i = 0; i < gmarker.length; i++) {
    if (gmarker[i].pricefirsthour = 2) {
        console.log("is equal to 2");
    };
}

2 个答案:

答案 0 :(得分:1)

gmarker[i].pricefirsthour = 2不是一个条件,而是一个评估为2的赋值(因此总是真实的)。您需要=====,而不是=

或者,更短,更新的JS功能:

gmarker.filter(x => x.pricefirsthour === 2)

答案 1 :(得分:0)

使用Array.prototype.filter

gmarker = gmarker.filter(function(o){
   return o.pricefirsthour == 2;
});

var gmarker = [{pricefirsthour:2},{pricefirsthour:21},{pricefirsthour:2},{pricefirsthour:7},{pricefirsthour:5},{pricefirsthour:2}];
gmarker = gmarker.filter(function(o){
   return o.pricefirsthour == 2;
});
console.log(gmarker);