Javascript 展开阵列中的对象

Javascript 展开阵列中的对象,javascript,arrays,Javascript,Arrays,我有一个对象数组: var Props = [booleanPoint, buttonPoint, checkboxPoint, datePoint, dialPoint, gaugePoint, groupboxPoint, htmlPoint, imagePoint, livetextPoint, livetrendsPoint, permissionsPoint, rangePoint, selectPoint, spectrumPoint]; 控制台日志显示: 编辑:

我有一个对象数组:

var Props = [booleanPoint, buttonPoint, checkboxPoint, datePoint, dialPoint, gaugePoint,
    groupboxPoint, htmlPoint, imagePoint, livetextPoint, livetrendsPoint, permissionsPoint,
    rangePoint, selectPoint, spectrumPoint];
控制台日志显示:

编辑:

我想提取每个对象内部的属性。我该怎么做


为了清楚起见,我只需要数组中的第一个属性,这样我就可以执行Props.booleanPoint、Props.buttonPoint等操作。

您的问题不是很清楚,但我猜您正在尝试从列表中的每个对象提取第一个(也是唯一的)属性,您不知道这些对象的名称

如果是,考虑如下:

extracted = Props.map(function(obj) {
    for(var p in obj)
        return obj[p];
});
如果要将所有特性合并为一个大对象,请尝试以下操作:

allProps = Object.assign.apply(null, Props)

您的问题不是很清楚,但我猜您正在尝试从列表中的每个对象提取第一个(也是唯一一个)属性,您不知道这些对象的名称

如果是,考虑如下:

extracted = Props.map(function(obj) {
    for(var p in obj)
        return obj[p];
});
如果要将所有特性合并为一个大对象,请尝试以下操作:

allProps = Object.assign.apply(null, Props)

我不确定您到底想要什么结果,但最好的解决方案可能是使用
forEach
map

var properties = {};
Props.forEach(function(object) {
    // update properties somehow based on object
});

第一个只是在数组中的每个条目上运行一些代码;第二个返回一个包含该代码结果的新数组

否则,经典for循环也会起作用:

var properties = {};
for (var i = 0; i < Props.length; i++ {
    // update properties somehow based on Props[i]
}
var属性={};
对于(变量i=0;i
我不确定您到底想要什么结果,但最好的解决方案可能是使用
forEach
map

var properties = {};
Props.forEach(function(object) {
    // update properties somehow based on object
});

第一种方法只是对数组中的每个条目运行一些代码;第二种方法返回一个新数组,其中包含该代码的结果

否则,经典for循环也会起作用:

var properties = {};
for (var i = 0; i < Props.length; i++ {
    // update properties somehow based on Props[i]
}
var属性={};
对于(变量i=0;i
那么您想将数组中每个外部对象中的每个对象添加到新数组中吗?如果是这样,请使用
for
循环来迭代数组,并在
for
循环中使用
for in
循环来迭代每个对象,然后您可以将其推到新数组中。我不理解您遇到的问题。道具[0]给出数组中的第一个对象,Props[1]给出第二个对象,依此类推。请显示您在Props数组中使用的代码,而不是您未使用的对象的其他代码。@nnnnnn嗨,Props[0]只返回一个具有嵌套属性“booleanProps”的对象。我直接想要“booleanProps”。然后您说Props[0][“booleanProps”]。如果每个对象只包含一个嵌套对象的属性,并且每个属性使用不同的名称,则可以使用object.keys(Props[i])[0]获取该名称。(其中,如果在Props上迭代,则i是循环迭代器。)@nnnnnn谢谢你,我不知道。那么你想把数组中每个外部对象中的每个对象都添加到一个新数组中吗?如果是这样的话,用
for
循环来迭代数组,用
for
循环中的
for
循环来迭代每个对象,然后你可以推到新数组中。我不懂pro您遇到的问题。Props[0]给出数组中的第一个对象,Props[1]给出第二个对象,依此类推。请显示您在Props数组中使用的代码,而不是您未使用的对象的其他代码。@nnnnnn嗨,Props[0]只返回一个具有嵌套属性“booleanProps”的对象。我直接想要“booleanProps”。然后你说Props[0]['booleanProps']。如果每个对象只包含一个嵌套对象的属性,并且每个属性使用不同的名称,则可以使用object.keys(Props[I])[0]获取名称。(如果您在道具上进行迭代,则其中i是循环迭代器。)@nnnnnnnn谢谢你,我不知道。谢谢你的回答。但是这不是我想要的。我正在寻找一种能够做Props.booleanPoint,Props.buttonPoint等的方法。你的方法完全摆脱了属性名,这不是我想要的。谢谢你的回答。但是这不是我想要的对于。我正在寻找一种方法来实现Props.booleanPoint、Props.buttonPoint等。您使用的方法完全消除了属性名称,这不是我想要的。