Javascriptの配列オブジェクトに対する各種操作を全面的にまとめました。


行列
配列定義:簡単に言えば、秩序あるデータセットであり、そのインデックスは0から始まり、自然に成長する整数であり、その要素値は任意のjsデータでありうる。そして、配列要素の個数を表すlengthという属性があります。
一、配列を定義するには、3つの定義があります。
方式一:

var arr=new Array(); 
arr[0]=“11”; 
arr[1]=“22”; 
arr[2]=“33”; 
方式二:

var arr=new Array(“11”,“22”,“33”); 
方式三:

var arr=[“11”,“22”,“33”]; 
二、配列のlength属性は、配列の長さを取得することができます。切り取りもできます。空の配列は、設定された値がその現在の値より小さい場合、配列が切断され、その末尾の要素が失われます。
設定された値が現在の値より大きい場合、配列の長さは大きくなり、新しい要素が配列の末尾に追加されます。それらの値はundefinedです。

var arr=[“11″,”22″,”33″]; 
arr.length //3,        
arr.length = 2 //['11','22'],     2  
arr.length = 5 //['11','22',undefined,undefined,undefined],    undefined 
arr.length = 0 //[],     
三、巡回行列:

var arr=[“11”,“22”,“33”]; 
//for   
for(var i=0;i<arr.length;i++){ 
 console.log(i) 
} 
//for in   
for( i in arr ){ 
 console.log(arr[i]) 
} 
//forEach   
arr.forEach(function(i){ 
 console.log(i) 
}) 
四、配列の追加と削除:push()は、要素の後方配列の長さを増加させるために、1つまたは複数の要素を配列の末尾に増加させる。

var arr=[1,2,3]; 
arr.push(4) 
console.log(arr) //[1,2,3,4] 
arr.push(5,6,7) 
console.log(arr) //[1,2,3,4,5,6,7] 
unshift() は、要素の後配列の長さを増加させるために、配列の先頭に1つまたは複数の要素を追加する。

var arr=[1,2,3]; 
arr.unshift(4) 
console.log(arr) //[4,1,2,3] 
arr.unshift(5,6,7) 
console.log(arr) //[5,6,7,1,2,3,4] 
pop()は、配列の最後から削除し、その値は削除された要素の値となる。

var arr=[1,2,3]; 
arr.pop() 
console.log(arr) //[1,2] 
shift() は、配列の先頭から削除され、削除された要素の値を返す。

var arr=[1,2,3]; 
arr.shift() 
console.log(arr) //[2,3] 
五、join()は、配列を指定された区切り記号で分離し、戻り値はstringタイプで、元の配列を変更しない:

var arr=[1,2,3,4]; 
arr.join(‘-‘) //”1-2-3-4″ 
arr.join(”) //”1234″ 
arr.join(‘ ‘) //”1 2 3 4″ 
六、ソト()配列の順序:

var arr=[2,8,3,4,12,56]; 
//       
arr.sort(function(a,b){ 
 return a-b; 
}); 
//       
arr.sort(function(a,b){ 
 return b-a; 
}); 
//     
arr.sort(function(a,b){ 
 return Math.random() C 0.5 
}) 
七、reverse()は配列を逆順にする:

var arr=[2,8,3,4,12,56]; 
arr.reverse() //[56, 12, 4, 3, 8, 2] 
八、取得配列の中で最大と最小の数字:

var arr = [5, 458 , 120 , -215 , 228 , 400]; 
var max = Math.max.apply(Math, arr); 
var min = Math.min.apply(Math, arr); 
九、slice()は、既存の配列から選択された要素を返すことができ、元の配列を変更しません。
一つのパラメータは、startの下のフラグから最後までです。
二つのパラメータがあります。startの下からendの下に表示される配列要素:

var arr=[2,8,3,4,12,56]; 
arr.slice(1) //[8, 3, 4, 12, 56] 
arr.slice(1,5) //[8, 3, 4, 12] 
十、splice()
一つのパラメータは、startの下のフラグから最後まで削除します。削除された数を返します。これは元の配列を直接変更します。
二つのパラメータがあります。startの下からendの下にある配列要素を削除し、削除された数を返します。これは直接に元の配列を修正します。
三つのパラメータがあります。startの下からendの下に表示される要素を3番目のパラメータに置き換えます。前の2つの数が同じなら、元の配列を直接変更します。

var arr=[2,8,3,4,12,56]; 
//   2        
console.log(arr.splice(2)) // [3, 4, 12, 56] 
console.log(arr)  // [2, 8] 
 
var arr=[2,8,3,4,12,56]; 
//    1 5    
console.log(arr.splice(1,5)) //[8, 3, 4, 12, 56] 
console.log(arr)  // [2] 
 
var arr=[2,8,3,4,12,56]; 
//    1    
console.log(arr.splice(1,1,'qqq')) //[8] 
console.log(arr) //[2, “qqq”, 3, 4, 12, 56] 
 
var arr=[2,8,3,4,12,56]; 
//   1 3     ,   qqq 
console.log(arr.splice(1,3,'qqq')) //[8, 3, 4] 
console.log(arr) // [2, “qqq”, 12, 56] 
十一、concat()は、2つの配列を新たな配列に統合して返します。

var arr1=[1,2,3,4,5]; 
var arr2=[6,7]; 
var arr3=arr1.concat(arr2); 
alert(arr1);// [1,2,3,4,5] 
alert(arr2);// [6,7] 
alert(arr3);// [1,2,3,4,5,6,7] 
十二、配列の重さ:
方法1:

function removeRepeat(arr){ 
 return arr.filter(function(elem, pos) { 
  return arr.indexOf(elem) == pos; 
 }); 
} 
方法二:

function removeRepeat(a){ 
 var arr=[]; 
 for(var i=0;i<a.length;i++){ 
  if(arr.indexOf(a[i]) === -1){ 
   arr.push(a[i]); 
  } 
 } 
 return arr; 
} 
方法三:

function removeRepeat(a){ 
 var arr = []; 
 a.forEach(function(i){ 
   if(arr.indexOf(i) === -1){ 
   arr.push(i); 
  } 
 }); 
 return arr 
} 
方法四:

function removeRepeat(arrs){ 
 var newArr = []; 
 var hash = {}; 
 for(var i=0;i<arrs.length;i++){ 
  var key = typeof(arrs[i])+arrs[i]; 
  if(hash[key] !==1){ 
   newArr.push(arrs[i]); 
   hash[key] =1; 
  };  
 }; 
 return newArr; 
} 
12、プロトタイプ属性は、直接配列の原型を変更または追加する機能です。

//                 
Array.prototype.sum= function(){ 
 var n = 0; 
 this.forEach(function(i){ 
  n+=i; 
 }); 
 return n; 
} 
 
var arr = [1,2,3,4] 
alert(arr.sum()) //10
締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に一定の助けをもたらしてほしいです。もし疑問があれば、メッセージを残して交流してもいいです。