如何仅在第一级将对象映射到Array。 JS

时间:2018-11-14 12:52:43

标签: javascript arrays

我有一个对象:

obj = {
    a: 'aVal',
    b: {
        bSub_1: 'bSub_1_value',
        bSub_2: 'bSub_2_value' 
    }
}

我需要将此对象映射到数组

['aVal', {bSub_1: 'bSub_1_value', bSub_2: 'bSub_2_value'}]

我尝试使用Object.values(obj),但是这种方法将所有对象级别都强制转换为数组,但是,我只需要首先强制转换。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

此答案更多是澄清而非答案。

  
    

.....但是,我只需要先投射。

  

这还不太清楚。

Object.values()看起来挺直的。

  

Object.values()方法返回给定对象自己的可枚举属性值的数组,其顺序与for ... in循环所提供的顺序相同(不同之处在于for-in循环枚举了in ...原型链)。

请注意以下代码段如何产生您期望的确切输出:

var obj = {
    a: 'aVal',
    b: {
        bSub_1: 'bSub_1_value',
        bSub_2: 'bSub_2_value' 
    }
}

var res = Object.values(obj);
console.log(res);

答案 1 :(得分:0)

另一种相同的方法

   Object.keys(obj).map(e => obj[e])