簡體   English   中英

如何強制對象鍵值對首先位於對象中?

[英]How to force an object key-value pair to sit first in an object?

我已經有一個對象,里面有東西:

{
    name: 'Smith',
    age: 24
}

我想在其中添加其他內容,但要強制其首先放置。 我怎么做?

在早期版本的ECMAScript中,對象中鍵的順序是不確定的(意味着順序無關緊要,您不能指望順序保持不變)。

但是,在ECMAScript 2015中,順序被明確定義為插入順序 ,也就是說,您只能在對象末尾插入新鍵。


根據此答案 ,值得注意的是,雖然訂單在ES2015中定義的,但出於遺留原因,並不需要實現ES5及以下版本的所有功能。

但是,(從我個人的經驗來看,我可能完全錯了)我記得的所有瀏覽器都按照當今的規范實現了對象順序。

除了@MadaraUchiha答案之外,您還可以使用Object.assign()創建新對象,並先分配新鍵,然后分配其余鍵:

var obj = {
    name: 'Smith',
    age: 24
};

var obj = Object.assign({}, {prop: 'something else'}, obj);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM