我一直在寻找这个答案,但似乎无法找到任何,我很抱歉,如果已经有一个。javascript,添加数组“围绕”对象
我期待的对象,让我们说这样的事情:
{
name: 'myname',
items: [
{
itemID: '1'
},
{
itemID: '2'
},
{
itemID: '3'
}
]
}
的问题是,每当有内部“项目”只有一个对象,它看起来像这样:
{
name: 'myname',
items: {
itemID: '1'
}
}
这意味着我的forEach函数将会中断,因为“items”不再是对象数组。在forEach中的每个“items”对象中都有大量的数据和事情完成,因此我宁愿不必使用forEach和另一个函数,而是将其转换为数组并仅使用forEach。
这就是我想做的事:
if (items is not array) {
//Convert the object to this:
{
name: 'myname',
items: [
{
itemID: '1'
}
]
}
}
我有问题,以确定项目的对象数组或只是一个对象(在这两种情况下的typeof项目将返回“对象”),并且还如果它不是数组,则如何将其转换为数组。非常感谢帮助或提示
可以使用这样的事情看到相结合http://stackoverflow.com/questions/4775722/check-if-object-is-array,或者如果您使用jQuery,则使用'$ .isArray'。 – mic4ael
或类似的东西https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray –
我强烈建议你保留对象的格式,我怀疑它是响应从一个API的服务器是恒定的是否有一个或多个元素。如果你不能控制API,那么你必须迭代对象并检查元素是否是数组或对象。 – Tushar