0

オブジェクトから名と姓を追加および削除することを目的とするJSスクリプトを完成させようとしています。AJAX経由でPHPスクリプトに転送され、JSONを操作するので、それを念頭に置いてください...オブジェクトを作成するには何を使用する必要がありますか:

  1. 姓と名のペアがある
  2. キー (つまり、"First") と値を指定することで、名前と姓のペアを削除できます

簡単なことはわかっていますが、私が読んだ解決策はまだ機能していません! くだらない質問ですみません…

編集:それぞれの氏名を特定する方法はありません。名前と姓だけで確認する必要があります。実際、Chrome の JS コンソールでは次のように表示されます。

[Object, Object, Object, Object]
0: Object
    first: "Stewie"
    last: "Griffin"
1: Object
    first: "Peter"
    last: "Griffin"
2: Object
    first: "Stan"
    last: "Smith"
3: Object

これを行うコードは次のとおりです。

window.selectednames.push({
first: $(this).find('.firstname').text(), 
last: $(this).find('.lastname').text()
});

またはテスト目的で、ここにデータがあります:

window.selectednames.push({
    first: 'Stweie', 
    last: 'Griffin'
    });
window.selectednames.push({
    first: 'Peter', 
    last: 'Griffin'
    });
window.selectednames.push({
    first: 'Stan', 
    last: 'Smith'
    });

これは理想的なようです!知っているのが姓と名だけの場合 (つまり、番号/カウント/インデックスがわからない場合)、このオブジェクトのコレクションから削除する方法がわかりません。

4

1 に答える 1

2

JavaScript オブジェクトを使用します。

たとえば、次のように名前の配列を持つことができます

var names = new Array()
var name1 = new Object();
name1.first = "Brad";
name1.last = "Pitt";
names.push(name1);

そして、配列をjsonに変換するときが来たら、ただ使用してください

var jsonStr = JSON.stringify(a);

投稿の編集に応じて、常に次の機能を使用できます

function removeNameFromList(nameList, firstName, lastName) {
    for(var i = nameList.length - 1; i >= 0; i--) {
         if(nameList[i].first == firstName && nameList[i].last == lastName) {
              nameList.splice(i, 1);
         }
    }
}

この関数は、姓と名の組み合わせがすべて削除されることに注意してください。

于 2013-07-02T15:24:50.750 に答える