1

これは私の用語の欠如の場合かもしれませんが、誰かがこれについて私に教えてくれるなら、私はそれを感謝します:

JSON配列を返すルーチンがあり、完全に機能しますが、渡されたものに基づいていくつかの計算を実行したいと思います。

したがって、配列を一時オブジェクト(tmpと呼ばれる)にコピーしました。次に、このオブジェクトから不要な特定の「キー」(?)を削除したいと思います。

たとえば、私の'tmp'オブジェクトは次のように始まります。

fldCat2、fldCat3など。

「fldCat3」に関連するものは必要ないので、そのキー全体をオブジェクトから削除したいと思います。

これをテストするために、私は次のことを行いました。

        console.log(tmp);

        delete tmp.fldCat3;
        delete tmp['fldCat3'];

        var prop = "fldCat3";
        delete tmp[prop];

        console.log(tmp);

しかし、これらの削除メソッドのいずれも、tmpオブジェクトから「fldCat3」を削除しません。

私が見逃している明らかな何かがありますか?

編集

Firebug内からオブジェクトのスクリーンショットを添付しました(値は削除されました)

FireBug出力

4

2 に答える 2

2

あなたのスクリーンショットを考えると、あなたの問題は、実際にはこれらのプロパティを持つオブジェクトの配列であるものからプロパティを削除しようとしていることだと思います。

あなたはこのようなことをしなければならないでしょう

for (var i = 0; i < tmp.length; i++)
    delete tmp[i].fldCat3;

ここでは、上記の配列のすべての要素をループして、これらの各要素からfldCat3を削除します。

于 2012-10-26T09:29:13.063 に答える
0

私もその問題を経験しました。私がやったことは、オブジェクトからキーを削除した後、UnderscoreJSを使用することです。_.compact(myObject)

于 2012-10-26T09:16:27.950 に答える