我有以下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()
} );
答案 0 :(得分:1)
或只是||
(逻辑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);
});