Javascript は Sets(一意のオブジェクトのみを含むリスト) をサポートしていますか?
私はこのリンクを見つけましたが、私が覚えていることから、JS の foreach はすべてのブラウザーでサポートされているわけではありません。
Javascript は Sets(一意のオブジェクトのみを含むリスト) をサポートしていますか?
私はこのリンクを見つけましたが、私が覚えていることから、JS の foreach はすべてのブラウザーでサポートされているわけではありません。
あなたの鍵は文字列ですか?
すべての JavaScript オブジェクトはマップです。つまり、セットを表すことができます。
あなたが言及したページに示されているように、各オブジェクトは各キー(属性名)のコピーを1つだけ受け入れます。キー/属性の値は重要ではありません。
jshashtableを使用すると、任意のオブジェクトをキーとして保存し、指定したリンクと同じパターンを使用できます。さらに、キーの配列を取得するメソッドを提供し、それを反復処理できます。また、優れたクロスブラウザー サポートも備えているため、どのような環境にもうまく適合します。
ES6(および corejs のようなポリフィル/シム)を使用すると、次のようになります。
例:
var mySet = new Set([1, 2, 3, 2, 1]); // => [1, 2, 3]
console.log(mySet.size);
console.log(mySet.has(3));
mySet.forEach(function(x){console.log(x)});
Polifill は古いブラウザーではサポートされていないため必須なので、最新のブラウザーのみを対象としている場合は無視してかまいません。
Array.forEach()
古い Opera およびすべての IE ブラウザではサポートされていないことをおそらく覚えているでしょうfor (var x in ...)
。私が知る限り、これは「ネイティブ」JS の一部であり、すべてのブラウザでサポートされています。