小伙伴们,问题是:如何在js对象中设置严格的属性顺序?问题如下:例如,我们有一个具有不同属性的对象:
let objekt = {
get arr1() {
let a = []
delete this.arr1
return this.arr1 = a
},
arr2: ['bbbb'],
get arr3() {
let a = []
return a
},
get rows() {
let a = this.arr1.length;
delete this.rows
return this.rows = a;
},
get colums() {
let a = 0
let property = Object.getOwnPropertyNames(this)
for (var i = 0; i < property.length; i++) {
if (property[i] === 'colums') continue
if (Array.isArray(this[property[i]])) {
a++
}
}
delete this.colums
return this.colums = a;
},
obj2: {},
}
console.log(objekt)
但是当我查看发布这个对象的最终结果时,我发现属性的顺序发生了变化:
具体来说,在这个例子中,这并不是特别重要,但我积极使用类似的对象结构来填充表格,并且数组的顺序至关重要;如果任何数组更改其在对象中的位置,则可能会破坏整个数组桌子。现在我想知道是否可以以某种方式解决这个问题?

如果
那么永远不要依赖对象中属性的顺序。
使用数组或者也许
Map。或者其他一些保证秩序的结构。但不是一个物体。