2012-03-07 10 views
0

私は連想配列を別の連想配列に格納しています。私のような普通の配列で特定の値をスプライスする方法を知っている:配列の配列に特定の値をスプライスする

arr['hello']['world'] 

EDITこのhello['world']['continent']を短縮します:

arr.splice(arr.indexOf('specific'), 1); 

は、私は1つは、このような配列を継ぐ可能性がどのように思っていました

var hello = {}; 
      hello['world'] = {}; 
      hello['world']['continent'] = "country"; 
      delete hello['world']['continent']; 
      alert(hello['world']['continent']) 
+0

JavaScriptを "連想" 配列を持っていません。 –

+0

'hello'と' world'とは何ですか? 'arr'はどのように見えますか?あなたはどのように見えますか? –

+0

'arr ['hello'] ['world']'は 'arr.hello.world'としてアクセスすることもできます –

答えて

2

あなたは単にdeleteキーワードを使用することができます。他のコメントに基づいて

delete arr["hello"]["world"] 

How do I remove objects from a javascript associative array?

編集、:

読みやすさのために、あなたも行うことができます。

delete arr.hello.world 

私たちは本当にただのオブジェクトについて話しているので、従来の配列ではなく、配列の長さはありません。ただし、オブジェクトからキーを削除することはできます。

+0

これは配列を短くしますか? – re1man

+0

ワールドオブジェクトを一括して削除します。それで、arr ["hello"] – GoldenNewby

+0

を省略すると、それは未定義になります...私はかなり確信しています – re1man

0

javascriptの「結合配列」は実際には配列ではなく、プロパティが設定された単なるオブジェクトです。 Foo["Bar"]Foo.Barと同じものです。だからここでスライスや長さについて話すことはできません。

1

JavaScriptには連想配列がありません。

使用オブジェクト:

var x = { 
    a : 1, 
    b : 2, 
    c : { 
    a : [] 
    } 
} 

delete x.c.a;