是否可以刪除某個位置的數組元素,而不重新排列索引,並且沒有將該位置更改爲未定義?如何刪除沒有拼接的數組元素,而沒有未定義的剩餘?
我不認爲這是可能的刪除或拼接?
我需要一個精確的方式來查看數組的長度,而無需重新排列索引。
我不想使用拼接,因爲我有一個對象具有映射到實際的X,Y點的表格(Punkt)的特定位置。
更新:實際上,知道數組元素是否存在於只有未定義的值也可以幫助我,有沒有更容易的方法,然後循環?
var keys = Object.keys(racks);
for (var i = 0; i < keys.length; i++)
{
for (var x = 0; x < racks[keys[i]].punkt.length; x++)
{
if(racks[keys[i]].punkt[x].y == fullName)
{
//delete racks[keys[i]].punkt[x];
racks[keys[i]].punkt.splice(x,1);
console.log(keys[i] + " : " + racks[keys[i]].punkt.length);
}
}
}
你可以,但你不能只用一個數組。 – rdodev
爲什麼你不需要一個名爲'arraylength'的變量,每次元素被添加到數組中時都會增加一個變量,但是當元素被移除時不會改變。 – Andy
爲什麼你不想使用拼接? http://stackoverflow.com/questions/500606/javascript-array-delete-elements – Jurik