だから、私は配列を持っていて、それをいくつかの条件に対して実行してから更新する必要があったので、次のようなことをしました:
var newitems = myArray.filter(function(x,n){
return someconditional_is_true;
}).map(function(arg){
return "something_new" + arg;
})
それは魅力のように機能しました..しかし、「myArray」をリスト(ハッシュ)に変更し、そのリストをフィルタリングしてから配列を生成する必要がありましたが、実際には機能していません。
// NOT working
var newitems = jQuery.each(myHash, function(x,n){
if (some_conditional) {
return 'something_new' + 'n';
}
})
最後の newitems は、「戻り値」ではなく、ループされたスルー値を保持するだけです。「.map」を試しました - 運が悪いです。ここで何か些細なことを見落としていると確信しています。
では、例として。
var myHash = {
item1 : 'item1value',
item2 : 'item2value',
blah : 'item3value'
}
var newitems = jQuery.each(myHash, function(x,n){
if (x.indexOf('item') != -1){
return 'myVALUE' + "--" + n;
}
})
console.log(newitems); // gives me just the myHash in a hash view.
// this just gives me newitems in an array with ALL of myhash stringed. It didn't filter by the conditional.
var newitems = jQuery.map(myHash, function(x,n){
if (x.indexOf('item') != -1){
return 'myVALUE' + "--" + n;
}
})
結局のところ、「newitems」には次のものがあると思います。
['myValueitem1',',myValueitem2']