关于javascript:从多维数组中删除元素

Remove element from multidimensional array

我有以下多维数组:

1
{"2":{"cid":"2","uid":"2"},"1":{"cid":"1","uid":"3"}}

在这个例子中,我想删除

1
"1":{"cid":"1","uid":"3"}

从它。我已经尝试了在StackOverflow上找到的所有解决方案,但都无法使它们发挥作用。我大部分是PHP人,所以我可能会错过一些重要的东西?


Just use delete with the appropriate property.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var obj = {"2":{"cid":"2","uid":"2
<div class="
suo-content">[collapse title=""]<ul><li>它不是数组索引,因为obj是对象,而不是因为值是字符串。解决财产名称的早期步骤是将其转换为字符串,因此<wyn>obj[1]</wyn>和<wyn>obj['1']</wyn>的结果是不可区分的,就像<wyn>obj[(function(){return 1;}())]</wyn>一样。由于数组是对象,所以<wyn>array[1]</wyn>的结果与<wyn>array['1']</wyn>相同。</li></ul>[/collapse]</div><hr>[cc lang="javascript"] var myObj= {"2":{"cid":"2","uid":"2
<div class="suo-content">[collapse title=""]<ul><li>在数字索引上使用点符号会产生语法错误,请使用括号!</li><li>@Eliasvanootegem我在你写这个消息的时候已经纠正了它</li><li>看起来你在引用MDN。或许这是一个值得信赖的好主意。:)</li><li>@我把它放在引文标签上…花了1秒钟在网上搜索到MDN…</li><li>@我不想做一个孩子,但我看到了你的答案,其中有一个报价没有任何链接或信用…但我不会寄。我们(包括你)不必一直保持"尖锐的权利"……</li><li>如果是这样的话,如果有人提醒我,我会很感激的。很明显你会被一个友好的提醒冒犯,这让我很困惑。</li><li>…请把它们贴出来,以便我更正。</li><li>@我真的很感激你的建议…当时你在jquery中给了我一些很好的答案…:)</li></ul>[/collapse]</div><p><center>[wp_ad_camp_1]</center></p><hr>
[cc lang="javascript"]var arr=[[10,20,30],[40,50,60],[70,80,90]];

for(var i=0;i<arr.length;i++){
    for(var j=0;j<arr[i].length;j++){
        if(arr[i][j]==50){
            arr[i].splice(j,1);
        }
    }
}

document.write(arr);


JavaScript doesn't have multi dimensional Arrays, only arrays and objects. That said: delete theObject['1']; should work just fine


You could use delete in javascript
Ex:

[cc lang="javascript"]var x = {"2":{"cid":"2","uid":"2


Assign your Object (not an Array) to a variable, this way:

[cc lang="javascript"]var o = {"2":{"cid":"2","uid":"2