var enums = {
'1': 'HELLO',
'2' : 'BYE',
'3' : 'TATA'
};
Я хочу иметь возможность преобразовать это в массив, который выглядит так,
[
{
number:'1',
word:'HELLO'
},
{
number:'2',
word:'BYE'
},
{
number:'3',
word:'TATA'
}
]
все решения, которые я вижу, образуют массив ключей или значений.
Почему вы ожидаете {number:'2', word: 'TATA'}?
@jcalz, очевидно, опечатка



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать Объект.записи и карта в желаемом формате.
var enums = {
'1': 'HELLO',
'2' : 'BYE',
'3' : 'TATA'
};
let op = Object.entries(enums).map(([key, value]) => ({ number:key, word:value }))
console.info(op)откуда вы знаете, что это ожидаемый результат?
@brk это указано в вопросе, приятель. I want to be able to convert that into an array that looks like this,
Спасибо за ответ. Это дает мне вывод [ { "1": "HELLO" }, { "2": "BYE" }, { "3": "TATA" } ] Мне нужно, чтобы это было [ { "1", "HELLO" }, {"2","BYE"}, {"3","TATA"}] вместо:
@ user7434041, можете ли вы описать ожидаемый тип данных? { "1","HELLO" } не является допустимым javascript или typescript. это почти похоже на кортеж Python
@ user7434041 в объекте вам нужна пара ключ/значение, в этом формате --> key:value.
Ой, извините, мой плохой, редактирую ожидаемый результат в вопросе
Need to create an object of Map type then get the value using get method like outData.get("1")
var obj = {
'1': 'HELLO',
'2': 'BYE',
'3': 'TATA'
};
var outData = new Map();
Object.keys(obj).forEach(function (e) {
outData.set(e, obj[e])
});
Чтобы получить данные, используйте outData.get("key")
Теперь выходные данные будут выглядеть так:
Map(3) {"1" => "HELLO", "2" => "BYE", "3" => "TATA"}
Другой альтернативой является использование цикла для ... в для перебора ключей enums и создания желаемого массива объектов.
var enums = {
'1': 'HELLO',
'2' : 'BYE',
'3' : 'TATA'
};
let res = [];
for (key in enums)
{
res.push({number: key, word: enums[key]});
}
console.info(res);.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}Вы можете сопоставить записи с свойства короткой руки.
var enums = { 1: 'HELLO', 2: 'BYE', 3: 'TATA' },
objects = Object.entries(enums).map(([number, word]) => ({ number, word }));
console.info(objects);.as-console-wrapper { max-height: 100% !important; top: 0; }вы можете использовать Объект.записи() с foreach и поместить его в такой массив
var enums = {
'1': 'HELLO',
'2' : 'BYE',
'3' : 'TATA'
};
var enumArray = []
Object.entries(enums).forEach(([key, value]) => enumArray.push({number : key, word : value}));
console.info(enumArray);Вы можете использовать Object.keys и карту
var obj = {
'1': 'HELLO',
'2' : 'BYE',
'3' : 'TATA'
};
const result = Object.keys(obj).map(el => {
return {
number: el,
word: obj[el]
}
})
console.info(result)
Что такое
{'1', 'HELLO'}? Это не действительный JavaScript и не действительный TypeScript.