Javascript 如何将对象转换为数组
这是来自角度应用程序的响应。当我检查它的类型时,它给出的结果是“object”Javascript 如何将对象转换为数组,javascript,node.js,Javascript,Node.js,这是来自角度应用程序的响应。当我检查它的类型时,它给出的结果是“object” [ { id: '5b3a223296fb381a29cf6fd9', number: 1, name: 'Tablet White EliteBook Revolve 810 G2', dprice: '0', image: '' } ] 当我使用这个查询时,它仍然是一个“对象”。 如何将其转换为数组?不幸的是,在JavaScript中,对象和数组的类型都是'object'。事实上,即使是空值也有'object
[ { id: '5b3a223296fb381a29cf6fd9',
number: 1,
name: 'Tablet White EliteBook Revolve 810 G2',
dprice: '0',
image: '' } ]
当我使用这个查询时,它仍然是一个“对象”。
如何将其转换为数组?不幸的是,在JavaScript中,对象和数组的类型都是
'object'
。事实上,即使是空值也有'object'
的类型,这使得事情变得更糟。如果您想区分JS中存在的所有“想要的对象”,应该使用以下内容:
var savedCart = JSON.parse(req.body.cart);
您也可以选择使用instanceof,例如:
function smartTypeOf(x) {
if (typeof x !== 'object') return typeof x;
if (x === null) return 'null';
if (Array.isArray(x)) return 'array';
return 'object';
}
顺便说一句,如果你有一个对象,想要一个数组(这里不是这样,你!):
- 如果对象是可编辑的,例如
,或集
实例:参数
if (x instanceof Array) return 'array'; if (x instanceof Promise) return 'promise'; if (x instanceof YourCustomClassInstance) return 'yourcustomclassinstance'
- 如果对象是任何(非空)对象,并且您希望其属性数组分别为值或键:
var x = new Set([1, 2, 1]); Array.from(x); // [1, 2]
typeof new Array()
返回object,因为这就是数组。它是数组,数组是对象。如果要检查它是否是数组,请使用array.isArray(变量)
这是一个数组。但是,数组也是一个对象,因此如果您执行了savedCart的类型
,您将得到对象
typeof[]
==“code>对象”使用数组。isArray([])
您希望如何将其保留在数组中?请分享预期产出
var x = {a: 2, b: 4, c: 7};
Object.values(x); // [2, 4, 7]
Object.keys(x); // ['a', 'b', 'c']