Javascript--行列

1716 ワード

行列
配列の各項目は文字列、オブジェクトなどの任意の種類のデータを保存できます.サイズは動的に調整されています.任意に新しい項目を追加できます.作成方法:
var colors=new Aray();
var colors=new Aray(「red」、「blue」);
array.pop()  これはスタックのような方法で、最後に入る値をイジェクトし、配列長を返します.
array.push(s)は配列の最後にデータを追加します.
array.shift()   等価とキュー、先入先出形式、先入行列の値をポップアップし、戻り値とします.
array.unshift(s)は配列の先端にデータを挿入します.
array.reverse()は配列自体を反転します.
array.sort()      配列そのものに対しては、まずtonttring()を行い、文字列の大きさを比較し、小さいときから大きな順に元の配列に割り当てます.
間違いやすい点:
var values = [0, 1, 5, 10, 15];
values.sort();
alert(values);          //[0, 1, 10, 15, 5]          
array.co ncat(s)は、まずarrayに基づいて、そのコピーを作成し、sを彼につなげて、接続されたオブジェクトを返します.
array.slice(1,4)はarray[1]からarray[4]までの値を返します.array[4]は含まれません.
array.join(",")    配列を文字列に変換します.中間パラメータは分割子です.
spiceの使い方は主にパラメータが2と2の境界より大きいです.
spice(0,2) 前の2つの項目を自身に削除し、削除した値を返します.
spice(start,Step,&args)も自身に対して処理します.ステップは削除の件数です.0の場合はstart位置に直接挿入し、削除の値を返します.
上のsort方法に対してもう一つの拡張があります.比較関数を受けて、比較の基準を指定します.ソトのデフォルトは<号、つまり前のa、後のbより小さいなら、そのまま維持します.でないと、逆にします.具体的なロジックはどうなりますか?下のカスタム形式を見てください.
a,bは比較して、もし方法は-1あるいは0に帰るならば、不変を維持して、もし1に帰るならばa、bを逆さまにします.
function test(property){
    return function(a,b){
      var value1 = a[property];
      var value2 = b[property];
      if (value1 < value2){
        return -1;
       } else if (value1 > value2){
	  return 1;
	}else {
	  return 0;
	}	
    }
  }
  var data=[{name:"za",age:28},{name:"Ni", age:29}]

  data.sort(test("name"));      //       name     
  alert(data[0].name)           //  Ni 

  data.sort(test("age"));       //       age     
  alert(data[0].name)           //  za