2

情報をフィルタリングするために使用されるリンクがたくさんあります。http://i.imgur.com/Huoqb.pngを参照してください。

リンクをクリックすると、配列に追加されます。例えば:

Venue>All = venue-0, Venue>Home = venue-1, Venue>Away = venue-2, 
Vs>All = vs-0, Vs>Lefties = vs-1, Vs>Righties = vs-2
 etc, etc, etc.

ユーザーがいずれかのカテゴリで[すべて]をクリックした場合、配列を検索して、そのカテゴリを含むアイテムをすべて削除します。例:myArray['venue-1','venue-2','vs-1']..​​.をクリックVenue>allし、削除'venue-1'して、その'venue-2'ままにしmyArray['vs-1']ます。

次のような正規表現を使用してこれを行うことはでき/^venue/ますか?クリックした「すべて」に応じて単語を変更しますか?

$.inArrayまたはindexOf()の組み合わせを実行する必要があることはわかっていますが、機能さsplice()せることができません。

4

3 に答える 3

1

$.grepこれは、ユーティリティを使用して簡単に行うことができます。

var someArray = [1, 2, 3];

var numbersGreaterThanOne = $.grep(someArray, function(item)
{
    return item > 1;
});

これは単なるサンプルですが、任意のコールバックを実行して、必要な要素をフィルタリングできます。

于 2012-05-03T18:45:06.060 に答える
0

これを試して:

var newList = $.filter(function () {
    return this.indexOf('venue') != 0;
});
于 2012-05-03T19:00:37.260 に答える
0

配列をインプレースで変更する非jQueryソリューションの場合:

for (var i=myArray.length;i--;){
  if (...) myArray.splice(i,1);
}

...次のような、必要なテストはどこにありますか。

if (myRegeEx.test(myArray[i]))
于 2012-05-03T19:51:12.457 に答える