-3

私は配列を持っています:

var menu_items = [];

私はこのように2つの要素をプッシュします:

 menu_items.push({
                    order: menu_items.length + 1, // value= 1
                    title: 'Label',
                    url: '',
                    IsSystemMenuItem: true
                });

 menu_items.push({
                    order: menu_items.length + 1, // value =2
                    title: 'grid',
                    url: '',
                    IsSystemMenuItem: true
                });

次に、2 番目のアイテムを削除します (つまり、順序: menu_items.length + 1、// 値 =2、タイトル: 'grid')

どうすればこのアイテムを削除できますか??

4

6 に答える 6

3

deleteを使用して項目を削除します。

delete menu_items[1];

ただし、配列に穴が開くことに注意してください。

穴のない配列が必要な場合は、spliceを使用します。

menu_items.splice(1, 1);

プロパティに基づいて要素を削除したい場合は、filterを使用できます。

menu_items = menu_items.filter(function(v) { return v.title!='grid' });

互換性を高めたい場合、および jQuery を使用する場合は、grepも使用できます。

menu_items = $.grep(menu_items, function(v) { return v.title!='grid' });
于 2013-02-12T13:30:56.567 に答える
1

これに使えますsplice()

menu_items.splice(1, 1);

最初のパラメーターは、削除する要素のインデックスです。2 番目のパラメーターは、削除する要素の数です。

于 2013-02-12T13:33:54.097 に答える
0

タイトルごとにアイテムを削除したい場合は、次のようにすることをお勧めします。

function deleteItemByTitle(array, title){
    for(var i = 0, l = array.length; i < l; i++){ // Loop through the array,
        if(array[i].title == title){              // If the correct element is found,
            array.splice(i, 1);                   // Remove the found element.
            break;
        }
    }
}

次に、関数を呼び出すだけです。

deleteItemByTitle(myArray, "grid");

検索するプロパティにする場合は、にtitle置き換えます。order

于 2013-02-12T13:37:35.333 に答える
0

注文番号等で削除したい場合。これは、それがどのように行われるかの基本的な例です:

function DeleteFromArray(orderId)
{
    for ( var i = 0; i < menu_items.length; i++)
    {
        if(menu_items[i].order === orderId) return menu_items.splice(i, 1);
    }
}

もちろんmenu_items[i].order === orderId、次のようなものに置き換えてから、好きなようmenu_items[i].title === orderIdに変更orderIdすることもできorderTitleます。

于 2013-02-12T13:40:04.513 に答える
0

splice()メソッドを使用できます。

于 2013-02-12T13:31:48.187 に答える
0

このコードを使用してください

delete Your_items[1];
于 2013-02-12T13:32:48.480 に答える