如何在forEach循环中获取第一个键/值对的值?

时间:2016-05-29 09:02:38

标签: javascript jquery foreach key

我有以下forEach循环来迭代存储的jQuery选择器:

contentExtras = [
   { right: $right_mask, start: aVariable, end: 0 },
   { right: $le, start: 0, end: bVariable },
   { left: $left_mask, start: cVariable, end: 0 }
];

现在我能做到:

contentExtras.forEach( function( item ) {
    item.right.css( { top: item.start } );
} );

或:

contentExtras.forEach( function( item ) {
    item.left.css( { bottom: item.start } );
} );

现在我正在寻找一种方法来获取每个第一个键/值对的值,而不管它是“正确”还是“左”。

我可以做的事情:

contentExtras.forEach( function( item ) {
    item.["both left and right"].css( { bottom: item.start } );
} );

我尝试过这样的事情:item。[0]但没有成功。 这是否足以解释我需要什么?在此先感谢您的帮助!

修改

所以这是解决我的问题的人造丝答案的一部分:

contentExtras.forEach( function( item ) {
    item[Object.keys(item)[0]].doThingsWithItsValues()
} );

1 个答案:

答案 0 :(得分:1)

  

使用Object.keys()

只是||(逻辑OR)运算符



contentExtras = [{
  right: '$right_mask',
  start: '-rightX',
  end: 0
}, {
  right: '$le',
  start: 0,
  end: '-leX'
}, {
  left: '$left_mask',
  start: '-rightX',
  end: 0
}];

contentExtras.forEach(function(item) {
  var key = Object.keys(item)[0]; //Get the first key
  console.log(item[key])
    //OR
  console.log(item.left || item.right);
});