lodash _.some()関数を使ってコレクション(オブジェクト)をチェックする方法についてちょっと混乱します。lodashでコレクションの正しいタイプを確認する
var x = {prop1: 800, prop2: 800, prop3: 'test'};
_.some(x, i => _.isNaN(i))
//false
_.some(x, _.isNaN)
//false
lodash _.some()関数を使ってコレクション(オブジェクト)をチェックする方法についてちょっと混乱します。lodashでコレクションの正しいタイプを確認する
var x = {prop1: 800, prop2: 800, prop3: 'test'};
_.some(x, i => _.isNaN(i))
//false
_.some(x, _.isNaN)
//false
:あなたはすべての値を確認したい場合は、あなたが行うことができます数ある
!_.some(x, i=> !_.isNumber(i))
私は「ドントン_.some
と_.every
のperforamanceの違いを知っていますが、もちろん使用することができます
_.every(x, i=> _.isNumber(i))
_.isNaN('test')
戻り値false
です。それはstring
です。
_.isString('test')
はあなたが探しているものです。
_.some(x, (i) => {
console.log(_.isString(i));
});
// false
// false
// true
編集:あなたのコメントを見ました。今、あなたは、プロパティのすべてが数値である、あなたがこれを使用できるかどうかを知りたいという
_.every(x, (i) => {
console.log(i);
return _.isNumber(i);
})
//false
lodashドキュメントから _.isNaNがありますNumber.isNaNに基づいており、未定義およびその他の非数値値に対して真を返すグローバルisNaNとは異なります。
_.some(x, isNaN)
//true
どのような質問がありますか? – Eddi
prop3が文字列であるため、some-fnの両方の結果が真であることをお勧めします。 – Zantinger
これは正しくありません。 '_.isNaN(" string ")'はNaNではないので、falseを返します。コンソールなどでこのステートメントを実行しようとすると、それが表示されます。 – Eddi