JavaScript函数返回给定col / row键的行中的最后一项

时间:2014-02-26 19:53:53

标签: javascript

我有以下对象:

var c = { row: 1, col: 1 }

我需要确定c是否是col \ row标识符中行的最后一项,其中'master'列表类似于:

[{ row: 1, col: 2 }, { row: 2, col: 1 }, { row: 1, col: 1 }, { row: 2, col: 3 } ]

实现这一目标的最佳方法是什么?也许排序,但我不确定......

注意:这些项目可以是任何顺序。

3 个答案:

答案 0 :(得分:1)

var c = { row: 1, col: 2 };  
var arr = [{ row: 1, col: 2 }, { row: 2, col: 1 }, { row: 1, col: 1 }, { row: 2, col: 3 } ];

var isLast = !arr.filter(function(o){ return o.row===c.row && o.col >= c.col }).length;

var c = { row: 1, col: 2 };
// false

var c = { row: 1, col: 3 };
// true

答案 1 :(得分:0)

我想出了:

 var hC = card.col;

 items.forEach(function (c) {
   if (card.row === c.row && c.col > hC) {
     hC = c.col;
   }
 }); 

 return card.col === hC;

答案 2 :(得分:-1)

查看属性是否匹配

var c = { row: 1, col: 1 };

var masterList = [{ row: 1, col: 2 }, { row: 2, col: 1 }, { row: 1, col: 1 }, { row: 2, col: 3 }];

if( (c.row == masterList[masterList.length -1].row) && (c.col == masterList[masterList.length -1].col)){
      console.log('c equals the last entry of masterList')
}else{
      console.log('c doesnt equal the last entry of masterList');
}