在JavaScript中将Object转换为2D数组

时间:2015-06-22 11:17:53

标签: javascript arrays object

我们可以将对象转换为2D数组吗,

我的对象就像这样

enter image description here

因此,数组密钥将类似于“STARS_2'和价值是[" STARS_4"," STARS_0"," STARS_12"]

我的尝试我可以得到这样的东西, enter image description here

使用此代码,

 var testArray =[];

            _.map(childFieldNames, function (value, key) {
                var newArray = new Array();
                newArray[key] = value;
                testArray.push(newArray);
            });

这里的键实际上是另一个我不想要的数组。我想要的关键应该是“STARS_2' ,即主对象的属性。

3 个答案:

答案 0 :(得分:1)

这是你需要的吗?

var ary2D = Object.keys(childFieldNames).map(function (key) {
    return childFieldNames[key];
});

答案 1 :(得分:0)

Shilly展示的更好的版本是:

const arr2D = Object.values(childFieldNames);

答案 2 :(得分:0)

您无需将结构创建为2D数组即可迭代每个键及其各自的值(即数组)。如果要对其进行迭代,可以执行以下操作。

const object = {
  a: [1,2,3],
  b: [2,3,5]
};

for (const [key, value] of Object.entries(object)) {
  value.forEach(v=>{
      console.log(`${key}: ${v}`);
  })
}