Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将对象转换为数组_Javascript_Node.js - Fatal编程技术网

Javascript 如何将对象转换为数组

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

这是来自角度应用程序的响应。当我检查它的类型时,它给出的结果是“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]
    

这是一个包含1个元素的数组,该元素是一个对象
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']