私は複数の配列を比較したいと思いますし、最終的には、異なる配列のすべての一意の値を含む配列を持っています。複数の配列を比較し、javascriptで一意の値を持つ配列を返す方法は?
フィルタメソッドにアレイの入力にループ募集及び
は次のようにコードがあり、2つの配列2との間の差を比較するためにフィルタ法を使用し、
1:私はしようとしました
function diffArray(arr1, arr2) {
function filterfunction (arr1, arr2) {
return arr1.filter(function(item) {
return arr2.indexOf(item) === -1;
});
}
return filterfunction (arr1,arr2).concat(filterfunction(arr2,arr1));
}
function extractArray() {
var args = Array.prototype.slice.call(arguments);
for (var i =0; i < args.length; i++) {
diffArray(args[i],args[i+1]);
}
}
extractArray([3, 3, 3, 2, 5], [2, 1, 5, 7], [3, 4, 6, 6], [1, 2, 3]);
しかし、「アンダーラインのプロパティ 'indexOf'を読み取ることができません」というエラーメッセージが返されます。ロジックに何が問題なのですか。
ご協力いただきありがとうございます。
Re:私はこの問題を重複しているとマークしていますが、私が探しているのは、入力として数多くの配列を配置してすべての違いを減らすことができるソリューションです(例:入力10000配列1つの配列をユニークな値で返します)。しかし、2つの配列を比較するだけではありません。私が見た解決策は、常に2つの配列のみです。
行うには、最初あなたのextractArrayはその中のパラメータはありませんhttps://www.google.nl/search?q=javascript+compare+arrays+remove+duplicates – mplungjan
...私はあなたが置くためのものと仮定し検索してください引数の変数はパラメータですか? – lancew
@ Pak、それはあなたのために働いていますか? –