Ext.each(boundsExtend, function(value)
{
if(value != record.ID) break;
});
どのようにしてExt.eachループを壊したり続けるのですか? docsから中断する方法Ext.each
Ext.each(boundsExtend, function(value)
{
if(value != record.ID) break;
});
どのようにしてExt.eachループを壊したり続けるのですか? docsから中断する方法Ext.each
:OPの例のように(record
を想定する範囲と非ヌルである)
:If the supplied function returns false, iteration stops and this method returns the current index.
false
を返すことは、完全にループを抜けること
Ext.each(boundsExtend, function(value) {
if (value != record.ID) {
return false;
}
// other logic here if ids do match
});
注、そうこの場合、最初の不一致レコードは追加検査をバイパスします。
しかし、実際にやっていることは、ループまで見つけることができます。一致するレコードを見つけたら、ロジックを行い、ループを短絡してください。その場合は、ロジックは、実際に次のようになります。
Ext.each(boundsExtend, function(value) {
if (value === record.ID) {
// do your match logic here...
// if we're done, exit the loop:
return false;
}
// no match, so keep looping (i.e. "continue")
});
明示的false
ではありませんその他の値(例えばnull
デフォルトでは)行きのループを維持します。 'ブレーク' と '継続' にfalse
が、何かを返すように
素晴らしいですが、続けるには? –
false以外は何も返しません。 –
私はブライアンのアップモディファイド –
var countries = ['Vietnam', 'Singapore', 'United States', 'Russia'];
Ext.Array.each(countries, function(name, index, countriesItSelf) {
console.log(name);
});
Ext.Array.each(countries, function(name, index, countriesItSelf) {
if (name === 'Singapore') {
return false; // break here
}
});
戻りfalse
。
var array = [1, 2, 3];
Ext.each(array, function(ele){
console.log(ele);
if(ele !== 2){
return false; // break out of `each`
}
})
Ext.each(array, function(ele){
console.log(ele);
if(ele !== 3){
return true; // continue
}
})
私がこれをやっておらず、オブジェクトを取り除いても、同様の例外があります。したがって、itemIdは存在しませんでした。 "Uncaught TypeError:未定義の 'itemId'プロパティを読み取ることができません" – MacGyver