1. ホーム
  2. javascript

[解決済み] JavaScriptでArray.anyに相当するものは何ですか?

2022-03-06 18:23:47

質問

JavaScriptで、空のときにtrueかfalseを返すメソッドを探しています。Rubyのようなものです。 any? または empty?

[].any? #=> false
[].empty? #=> true

解決方法は?

JavaScriptには Array.prototype.some() メソッドを使用します。

[1, 2, 3].some((num) => num % 2 === 0);  

リターン true なぜなら、配列の中に(少なくとも)1つだけ偶数があるからです。

一般に Array クラス は、JavaScript の標準ライブラリの中で、Ruby の 列挙可能 . また isEmpty メソッドと .some() には関数を渡す必要があります。 undefined is not a function というエラーが発生します。を定義することができます。 .isEmpty() と同様に .any() というように、Rubyのものに近いものがあります。

Array.prototype.isEmpty = function() {
    return this.length === 0;
}

Array.prototype.any = function(func) {
   return this.some(func || function(x) { return x });
}

のようなライブラリ アンダースコア.js ロダッシュ のようなヘルパーメソッドが用意されているので、Rubyのコレクションメソッドに慣れている人は、プロジェクトに取り入れるとよいでしょう。