1

私はこのような配列を持っています

var array = [1,2,3,4,5,6,7,8,9,10];

ループコードはunderscore.js_.eachの関数を使用してこのようになります

_.each(array,function(item,index){
  console.log(item);
});

しかし、ループ時に配列内のいくつかのアイテムを削除したい。たとえば、配列から番号 5 を削除する必要があり、ループは番号 5 を出力しません。問題は、この配列でループするときに配列内の項目を削除することは可能ですか?

4

5 に答える 5

4

通常、反復処理中に配列を変更することは非常に悪い考えです。最良の解決策は、インデックスを別の配列に保存し、後で削除することです (インデックスの変更に対処する必要がないように、その配列を最後から最初に反復することを忘れないでください)。

于 2013-10-12T11:11:30.177 に答える
1

アンダースコアを使用すると、次のことができます。

var array = [1,2,3,4,5,6,7,8,9,10];

var filteredList = _.filter(array, function(item){

    // do something with each item - here just log the item
    console.log(item);

    // only want even numbers
    return item % 2 == 0;

});

// show filtered list
_.each(filteredList, function(item){
    console.log(item);
});
于 2013-10-12T11:25:59.260 に答える