我有一个对象数组:
var Props = [booleanPoint, buttonPoint, checkboxPoint, datePoint, dialPoint, gaugePoint,
groupboxPoint, htmlPoint, imagePoint, livetextPoint, livetrendsPoint, permissionsPoint,
rangePoint, selectPoint, spectrumPoint];
编辑:
我想提取每个对象内的属性。我该怎么做?
要清楚我只想要数组中的第一个属性,这样我就可以做Props.booleanPoint,Props.buttonPoint等。
答案 0 :(得分:3)
你的问题不是很清楚,但我想你是在尝试从列表中的每个对象中提取第一个(也是唯一的)属性,这些属性的名称是你不知道的。
如果是,请考虑以下事项:
allProps = Object.assign.apply(null, Props)
如果要将所有属性组合成一个大对象,请尝试以下方法:
s :: (a -> b -> c) -> (a -> b) -> (a -> c)
k :: a -> b -> a
答案 1 :(得分:0)
我不确定您的结果究竟是什么,但最佳解决方案可能是forEach
或map
。
var properties = {};
Props.forEach(function(object) {
// update properties somehow based on object
});
或
var properties = Props.map(function(object) {
return [some property of object];
});
第一个只是在数组中的每个条目上运行一些代码;第二个返回一个包含该代码结果的新数组。
否则,经典for循环也有效:
var properties = {};
for (var i = 0; i < Props.length; i++ {
// update properties somehow based on Props[i]
}