先の面接試験問題のJS対象配列は重くなります.


先日実習を探しに行きましたが、JSの対象の配列が重いという問題に出会いました.解法は実はJSの普通の配列と重い方法が似ています.
1.JS配列は重いです
方法1:
	var arr = [1,1,2,2,2,3,4,5,6,7,8,9,9,9,10];
	var newArr = [...new Set(arr)];//ES6    
	console.log(newArr);
方法2:
	var arr = [1,1,2,2,2,3,4,5,6,7,8,9,9,9,10];
	var newArr = arr.filter((item,index,array)=>{
		return arr.indexOf(item) === index;
	})
	console.log(newArr);
2.JSオブジェクト配列のデクリメント
対象配列の重さ解消には多くの方法がありますが、一番分かりやすい方法を紹介します.配列の中のオブジェクトを文字列JSON.stringify()に変換し、またJS配列を重さに行く方法2を利用して配列を処理すればいいです.
	var arr = [{a:1,b:2},{a:1,b:2},{a:3,b:1},{a:5,b:2},{a:3,b:1}];//    
	var stringArr = arr.map((item,index,array)=>{
		return JSON.stringify(item)
	})//        
	
	var filterArr = stringArr.filter((item,index,array)=>{
		return array.indexOf(item) === index;
	})//        

	var lastArr = filterArr.map((item,index,array)=>{
		return JSON.parse(item);
	})//         

	console.log(lastArr);//[{a:1,b:2},{a:3,b:1},{a:5,b:2}];