如何使用對象的位置移除元素?我例如想要刪除第二個。從對象jquery中移除元素
Object {duur: ".short", taal: ".nl", topic: ".algemeen-management"}
如何使用對象的位置移除元素?我例如想要刪除第二個。從對象jquery中移除元素
Object {duur: ".short", taal: ".nl", topic: ".algemeen-management"}
的Object.keys()
會給你在它是如何定義的順序。 總是最好根據密鑰名稱刪除。因爲,在一個對象中,鍵沒有完全分類和他們沒有任何順序。
var obj = {
duur: ".short",
taal: ".nl",
topic: ".algemeen-management"
};
console.log(obj);
var position = 2;
delete obj[Object.keys(obj)[position - 1]];
console.log(obj);
最好的和正確的方式做的是密鑰名刪除:
var obj = {
duur: ".short",
taal: ".nl",
topic: ".algemeen-management"
};
console.log(obj);
var key = "taal";
delete obj[key];
console.log(obj);
看來你是自相矛盾的。首先你說Object.keys()按照它們定義的順序返回屬性,然後你說鍵沒有任何順序;)備份第二個第三句:Object.keys({foo:42, 21:'x'})'(在Chrome中返回'[21,'foo']',而不是'['foo',21]' –
@FelixKling啊,但是,定義的順序是不同的......好吧, eeks。我不知道如何正確填寫 –
更好的使用delete運算符這樣的:
delete myObject.taal;
這並不完全回答OP的問題 –
你可以使用:delete(object.taal)。
這並不能完全回答OP的問題 –
這樣的:
var index = 1 ; // the position you want minus 1
var example = {duur: ".short", taal: ".nl", topic: ".algemeen-management"}
delete example[Object.keys(example)[index]];
您可能想指出,這不適用於任意對象。 –
屬性是沒有順序的。你不能可靠地說出哪一個是「第二」屬性。 –
[如何從JavaScript對象中刪除屬性?](http://stackoverflow.com/questions/208105/how-to-remove-a-property-from-a-javascript-object) –
對象鍵沒有[保證訂單](http://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order) – maioman