[英]Remove an Item From an Array with JavaScript splice/indexOf
[英]Javascript remove item on array using splice() not working
所以我有一個像這樣的數組 var arr = [foo1:"bar1", foo2:"bar", foo3:"bar3"]
。
然后我使用了這個arr.splice(index, 1);
給定index
是動態的,只說它是0
但沒有從數組中刪除值foo1:"bar1"
。
上面的數組也可以在我的代碼上使用,但是在JSFiddle上顯示錯誤。 我不知道為什么。
謝謝。
編輯我不知道為什么它在控制台上沒有顯示錯誤,但是這是我的操作方法。
var arr = [];
我通過這樣做為數組動態增加了價值
arr["foo"] = "bar";
結果是[foo:"bar"];
有想法嗎?
編輯2
該數組的結構無效。
var arr = [foo1:"bar1", foo2:"bar", foo3:"bar3"];
數組將在方括號[]
包含逗號分隔的項目,而不是鍵值
如果要具有鍵值,則應為大括號{}
對象
var arr = {foo1:"bar1", foo2:"bar", foo3:"bar3"};
如果要從arr
刪除第一個屬性,請執行
var keys = Object.keys( arr );
delete arr[ keys[ 0 ] ];
要添加鍵值,
arr[ "foo5" ] = "bar";
很長的路要走:
var arr = [];
var foo1 = {};
foo1['foo1'] = 'bar1';
var foo2 = {};
foo1['foo2'] = 'bar2';
arr.push(foo1);
arr.push(foo2);
alert(arr.length); // output: 2
var index = arr.indexOf(arr, foo1); // or var index = $.inArray(arr, foo1);
arr.splice(index, 1);
alert(arr.length) // output: 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.