2017-11-17 22 views
-1

メイン配列から項目のセットを削除する必要があります。私は選択リストを持っています。これを選択してこの項目を別の配列に追加し、メイン配列から削除します。ie9のオブジェクト値を参照して、JavaScriptのメイン配列からオブジェクトのサブ配列を削除します。

var mainArray = [ 
 
    { 
 
    "name": "abcd" 
 
    }, 
 
    { 
 
    "name": "cdf" 
 
    }, 
 
    { 
 
    "name": "vdf" 
 
    }, 
 
    { 
 
    "name": "ajj" 
 
    }, 
 
    { 
 
    "name": "asdf" 
 
    }, 
 
    { 
 
    "name": "utyt" 
 
    }, 
 
    { 
 
    "name": "adada" 
 
    } 
 
]; 
 
var subArray = [ 
 
{ 
 
    "name": "utyt" 
 
    }, 
 
    { 
 
    "name": "adada" 
 
    } 
 
]; 
 
    //need main array with out subarray

また、私は、アンダースコアJSを使用しています。

+0

何をこれまでにしようとしましたか? –

+0

mainarray = mainarray.filter(function(item){ return subarray.indexOf(item)<0; }); しかし、それは動作していません –

答えて

2

あなただけ array.prototype.filter を使用し、は、そのためのを強調する必要はありません。私を助けてください:

var mainArray = [ 
 
    { 
 
    "name": "abcd" 
 
    }, 
 
    { 
 
    "name": "cdf" 
 
    }, 
 
    { 
 
    "name": "vdf" 
 
    }, 
 
    { 
 
    "name": "ajj" 
 
    }, 
 
    { 
 
    "name": "asdf" 
 
    }, 
 
    { 
 
    "name": "utyt" 
 
    }, 
 
    { 
 
    "name": "adada" 
 
    } 
 
]; 
 
var subArray = [{ 
 
    "name": "utyt" 
 
    }, 
 
    { 
 
    "name": "adada" 
 
    }]; 
 
    
 
mainArray = mainArray.filter(function(e) { 
 
    return !subArray.some(function(s) { 
 
     return s.name === e.name; 
 
    }); 
 
}); 
 
console.log(mainArray);

+0

こんにちはこれは動作しません。 –

+0

つまり、構文エラーが表示されます。 –

+0

矢印なし機能 – Faly

関連する問題