在JavaScript中,对象是无序的数据结构,Object.keys()返回的键数组顺序通常与对象中属性的顺序不一致。如果您希望保留对象中属性的顺序,可以考虑使用Map对象来存储数据。
复制
Map对象是一种有序的键值对集合,可以保持键的插入顺序。您可以将对象中的键值对转换为Map对象来保留顺序。例如:
const obj = { key1: 'value1', key2: 'value2', key3: 'value3' }; const map = new Map(Object.entries(obj)); // 输出键值对 for (let [key, value] of map) { console.log(key, value); } // 输出键数组 const keysArray = Array.from(map.keys()); console.log(keysArray);
复制
这样,您就可以保留对象属性的顺序,并根据需要访问键值对或者键数组。