Как преобразовать объект, содержащий объекты в массив объектов

Это мой объект

var data = {
    a:{"0": "1"},
    b:{"1": "2"},
    c:{"2": "3"},
    d:{"3": "4"}
};

Это результат, который я ожидаю

data = [ 
    {"0": "1"},
    {"1": "2"},
    {"2": "3"},
    {"3": "4"}
]

Ответ 1

Это работает для меня

var newArrayDataOfOjbect = Object.values(data)

Кроме того, если у вас есть объект ключ-значение, попробуйте:

const objOfObjs = {
   "one": {"id": 3},
   "two": {"id": 4},
};

const arrayOfObj = Object.entries(objOfObjs).map((e) => ( { [e[0]]: e[1] } ));

вернусь:

[
 "one": {"id": 3},
 "two": {"id": 4},
]

Ответ 2

var data = {
    a:{"0": "1"},
    b:{"1": "2"},
    c:{"2": "3"},
    d:{"3": "4"}
};

var myData = Object.keys(data).map(key => {
    return data[key];
})

Это работает для меня

Ответ 3

Вам нужно будет указать имя для каждого значения в объекте.

Как только вы исправите первый объект, вы можете сделать это с помощью push.

var data = {
    1: {"0": "1"},
    2: {"1": "2"},
    3 : {"2": "3"},
    4: {"3": "4"}
};

var ar = [];
for(item in data){
    ar.push(data[item]);
 }

console.log(ar);

http://jsfiddle.net/nhmaggiej/uobrfke6/

Ответ 4

var array = [];
for(var item in data){
    // this condition is required to prevent moving forward to prototype chain
    if(data.hasOwnProperty(item)){
        array.push(data[item]);
    } 
}

Ответ 5

Я получаю то, что вы хотите! Вот ваше решение,

var dataObject=[{name:'SrNo',type:'number'}];

А для доступа или сохранения массива используйте

dataObject[0].srno=1;
dataObject[0].srno=2;

Надеюсь, это то, что вам нужно.

Ответ 7

Принятый ответ не учитывает, что ОП хотел избавиться от ключей. Это возвращает только объекты, а не их родительский ключ.

Object.entries(ObjOfObjs).map(e => e[1]) выводит:

[ 
  {"0": "1"},
  {"1": "2"},
  {"2": "3"},
  {"3": "4"}
]