1
順序付けされた、一意にソートされた整数の配列を返したロダッシュチェーンです。入力を完全に信頼することはできないため、中間の検証が行われます(この例ではthruメソッドが使用されています)。チェーンフローを壊して戻るために、この例をどのように変更できますか?アンダースコア/ロダッシュのチェーンフローをエスケープまたはブレークする方法
_.mixin({
isIntegerString: function(arg) {
return /^\d+$/.test(arg);
}
});
var a = _.chain(" 54,32 ,6 ,32 ") // but param here can be anything so I have to do some checkings
.thru(function(untrusted) {return _.isString(untrusted) ? untrusted : ''}) // validation !
.split(',')
.map(_.trim)
.thru(function(array1) {return _.every(array1, _.isIntegerString) ? array1 : []}) // validation !
.map(_.parseInt)
.sortBy(function(e) {return e;})
.uniqBy(function(e) {return e;})
.value();
console.log(a);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.2/lodash.js"></script>
私の2ペニーの価値は、検証が独立して変換して、有効なデータのフィルタ、すなわちないチェーンでの行われるべきであるということです。あなたもチェーンをショートカットすることはできません。 –