2017-04-15 9 views
-2

これは実際には問題ではありませんが、解決策ですが、頻繁に表示されるため、投稿したいと考えていました。しかし改善を提案することは自由に感じなさい。結果をFiddleに更新します。jQuery配列の相違

jQueryを使用して、2つの配列を比較し、2つの配列の違いを出力します。

var array1 = [1, 2, 3, 4, 5, 6]; 
 
var array2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
 
var foo = []; 
 
var i = 0; 
 
jQuery.grep(array2, function(el) { 
 
    if (jQuery.inArray(el, array1) == -1) foo.push(el); 
 
    i++; 
 
}); 
 
alert(" the difference is " + foo);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+3

は、問題の問題を入れて、そして答えで解決。 – Barmar

+0

'alert'ではなく' console.log'を使います。 – Barmar

+0

'grep()'の代わりに '.map()'を使うことができます – MrNew

答えて

1

ライブラリUnderscore.jsは、このようなもののために非常に便利です。

http://underscorejs.org/#difference

_.difference([1, 2, 3, 4, 5], [5, 2, 10]); 
=> [1, 3, 4] 
+0

ネイティブまたはjqueryを使用できるときに別のライブラリを使用する理由 – MrNew

+0

@MrNew絶対に。これは、あなたがこのライブラリが好きで、あなたのプロジェクトでそれを使い始めたい場合に備えてあります:) –