配列から重複を除去

ソースコード

		$(function(){
			
			var ary =['abc',10,20,30,'abc',20];
			ary = array_unique(ary);

			console.log(ary);
		});
		
		/**
		* 配列から重複を除去する
		*/
		function array_unique(ary){
			var ary2= ary.filter(function (x, i, self) {
				return self.indexOf(x) === i;
			});
			
			return ary2;
		}
	

	Array[4]
		0:"abc"
		1:10
		2:20
		3:30
	

配列内を検索(存在チェック)

ソースコード

	var ary1 = ['abc','あいう','neko','aka-neko'];
	var index = ary1.indexOf('neko');// →index = 2 ※
	


文字列を改行で分割する

	var arr = str.split(/\r\n|\r|\n/);

オブジェクトのキーを数値にすると自動ソートされてしまう


	var obj = {2:'No2'};
	obj[4]='No4';
	obj[1]='No1';
	obj[3]='No3';
	
	console.log(obj);// 昇順ソートされる → {1: "No1", 2: "No2", 3: "No3", 4: "No4"}
	


オブジェクトのマージ | jQuery.extend()メソッドの代わりにES2015のObject.assign()メソッド

検証


	jQuery(()=>{
		
		var obj1 = {'cat':100,'dog':200};
		output(obj1,'#res1');
		
		var obj2 = {'dog':1000,'kani':300};
		output(obj2,'#res2');
		
		var obj3 = Object.assign({}, obj1, obj2);
		output(obj3,'#res3');
		
	});
	
	function output(obj,slt){
		console.log(obj);
		var json = JSON.stringify(obj);
		jQuery(slt).html(json);
		
	}
	

出力1
	{"cat":100,"dog":200}

出力2
	{"dog":1000,"kani":300}

出力3
	{"cat":100,"dog":1000,"kani":300}



配列の先頭要素を削除

デモ:スタック処理の実験 | 先頭削除

	ary1.shift();
	


配列から指定要素を削除する | splice

検証

array1.splice(要素値, 削除件数);
※ array1 ← 配列


	list1.splice (index, 1); // 配列から指定要素を削除する。(文字列を指定すると末尾を、空や負値を指定すると先頭が削除される)
	

配列の要素を入替

Demo


/**
 * 配列の要素を入替
 * @param [] ary 対象の配列
 * @param int from_index 入替元インデックス
 * @param int to_index 入替先インデックス
 * @return [] 要素入替後の配列
 */
function swapElementsOfArray(ary, from_index, to_index){

	if(from_index < 0) throw Error('Error:220710A');
	if(from_index >= ary.length) throw Error('Error:220710B');
	if(to_index < 0) throw Error('Error:220710C');
	if(to_index >= ary.length) throw Error('Error:220710D');
	
	let ary2 = [];
	let value1 = ary[from_index];
	let value2 = ary[to_index];
	for(let i in ary){
		if(i == from_index){
			ary2.push(value2);
		}else if(i == to_index){
			ary2.push(value1);
		}else{
			ary2.push(ary[i]);
		}
	}
	return ary2;
}