2 回答

TA貢獻1893條經驗 獲得超10個贊
您可以將對象分成只有一個鍵/值對的數組。
let object = { D1: { name: 'Emp1', Age:22 }, D2: { name: 'Emp2', Age:43 } },
array = Object
.entries(object)
.map(pair => Object.fromEntries([pair]));
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

TA貢獻1828條經驗 獲得超3個贊
這:
[
? 'D1': {
? ? 'name': 'Emp1',
? ? 'Age':22
? },
? 'D2': {
? ? 'name': 'Emp2',
? ? 'Age':43
? },
];
根本不存在。數組沒有鍵,對象有。
你最多能做的是:
[
? {
? ? 'D1': {
? ? ? 'name': 'Emp1',
? ? ? 'Age':22
? ? }
? },{
? ? 'D2': {
? ? ? 'name': 'Emp2',
? ? ? 'Age':43
? ? }
? }
];
具有單個鍵的對象數組。
用于執行此操作的一種代碼變體:
let obj = {
? 'D1': {
? ? 'name': 'Emp1',
? ? 'Age':22
? },
? 'D2': {
? ? 'name': 'Emp2',
? ? 'Age':43
? },
};
?
//let wholeArray = Object.keys(obj).map(key => obj[key]);
let wholeArray = Object.keys(obj).map(key => {
? let ret={};
? ret[key]=obj[key];
? return ret;
});
?
console.log(wholeArray);
旁注:過去 2-3 天我看到很多類似的問題,人們想要帶有鍵的“JSON 數組”,并且他們還小心地在數組末尾放置一個“空”逗號。
添加回答
舉報