配列の実例的な方法の大全書

31800 ワード

配列の実例的な方法の大全書
配列を使うところが多く、添削などの操作が欠かせません.配列の実例的な方法が多く、覚えやすいです.
配列項目(push、unshift、splice)を追加します.
push()方法は、1つ以上の要素を配列の最後に追加し、配列の新しい長さを返します.
  var arr = [3, 4, 5, 9];
        arr.push('3', 'hello', '  ');
        console.log(arr)//7
        //[3, 4, 5, 9,'3', 'hello', '  ']
unshift()メソッドは、1つ以上の要素を配列の先頭に追加し、行列の新しい長さを返します.
var arr = [3, 4, 5, 9];
        arr.unshift('3', '0', 'hello', '  ');
        console.log(arr) // (8) ["3", "0", "hello", "  ", 3, 4, 5, 9]
splice()方法は、既存の要素を削除または置換することにより、配列を変更し、変更された内容を配列形式で返します.この方法は元の配列を変更します.arr.splice(ラベルを外し、個数を削除し、追加したデータ):下付き位置を指定してからいくつか削除し、その位置に追加したデータを挿入します.下付きが範囲を超えたら、範囲の境界に従って処理します.
  //               0  1  2  3  4     5      6      7        8     9     
        var arr = [1, 2, 3, 4, 5, 'aaa', 'hello', 'poem', '10', '12']
      //arr.splice(  ,     ,      )
        arr.splice(2, 3, 'love')
        console.log(arr) //(8) [1, 2, "love", "aaa", "hello", "poem", "10", "12"]
以上の3つの例示的な方法は、いずれも複数のデータを追加でき、元の配列を変更します.
配列項目(pop、shift、splice)を削除します.
pop()メソッドは、配列から最後の要素を削除し、その要素の値を返します.この方法は配列の長さを変更します.
  var arr = [3, 4, 5, 9];
        console.log(arr.pop());//9
        console.log(arr)//[3,4,5]
shift()メソッドは、配列から最初の要素を削除し、その要素の値を返します.この方法は配列の長さを変更します.
 var arr = [3, 4, 5, 9];
        console.log(arr.shift())//3
        console.log(arr)//[4,5,9]
*splice()*メソッド定義は上記を参照してください.arr.splice(下付き、削除の数、追加のデータ):下付き位置を指定してから指定数を削除し、その位置に追加のデータを挿入し、下付きが範囲を超えたら範囲の境界で処理します.削除されたデータを記録する新しい配列を返します.
 //               0   1  2  3  4     5      6       7      8      9     
        var arr = [1, 2, 3, 4, 5, 'aaa', 'hello', 'poem', '10', '12']
        //arr.splice(  ,     )
        arr.splice(2, 3)
        console.log(arr) //(7) [1, 2, "aaa", "hello", "poem", "10", "12"]
配列項目を切り取ります.
slice()メソッドは新しい配列オブジェクトを返します.このオブジェクトはbeginとendによって決定された元配列の浅いコピーです.(beginを含み、endを含みません.)元の配列は変更されません.新しい配列が得られます.
  var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
            //arr.slice(      ,       ):
        var result = arr.slice(2, 5)
        console.log(result) //3,4,5
            //       ,     ,         ,     
        console.log(arr.slice(arr.length - 5, 8)) //[6,7,8]
            //       ,      
        console.log(arr.slice(arr.length - 5, 20)) //[6, 7, 8, 9, 10]
            //      ,           
        console.log(arr.slice(arr.length - 3)) //[8,9,10]
            //      ,          
        console.log(arr.slice())// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
その他の常用例:
*indexOf()*方法は、指定された要素の最初のインデックスを行列に返します.存在しない場合は-1を返します.インデックス値が配列長以上である場合は、配列内で検索されず、-1に戻ります.パラメータで提供されるインデックス値が負の値である場合は、配列の最後の要素から検索を開始することを示します.2は、最後から2番目の要素から検索を開始することを示しています.このように類推します.パラメータで提供されるインデックス値が負の値である場合、検索順序は変更されません.検索順序は依然として前から後方に照会する配列です.
var arr = [1, 3, 14, 15, 9, 2, 6]
            //arr     5,  -1
        console.log(arr.indexOf(5)) //-1
            //    1     3,
        console.log(arr.indexOf(3, 1)) //    1
        console.log(arr.indexOf(5, 9)) //-1
            //-4               
        console.log(arr.indexOf(15, -4)) //3
        console.log(arr.indexOf(3, -10)) //1
運用:

    /**
     * 5.          
     * @param {Array} arr        
     * @param {Array} arr1         
     */
    fun5: function(arr) {
     
        var arr1 = new Array()
        for (var i = 0; i < arr.length; i++) {
     
            //indexOf()                        ,     ,   -1。
            if (arr1.indexOf(arr[i]) == -1) {
     
                arr1.push(arr[i]);
            }

        }
        return arr1
    },

配列の要素を元の場所のアルゴリズムで並べ替え、配列に戻します.デフォルトの順序は要素を文字列に変換し、その後、UTF-16コード要素の値シーケンスを比較するときに構築されます.具体的な実装に依存して順序付けの時間と空間の複雑さは保証されません.
   var arr=[1,5,3,4,8,6]
         console.log(arr.sort())//[1, 3, 4, 5, 6, 8]
        
         var arr=[
            {
      name:'   ',poem:'   '},
            {
     name:'  ',poem:'   ' },
            {
     name:'    ',poem:'   '}
    ]
    arr.sort(function(x,y){
     
        //          
    return x.name.length - y.name.length
    })
    console.log(arr)
//  {name: "  ", poem: "   "}
//  {name: "   ", poem: "   "}
//  {name: "    ", poem: "   "}
fill()メソッドは、開始インデックスから終了インデックスまでの1つの配列のすべての要素を固定値で塗りつぶします.終了インデックスは含まれません.arr.fill(value、start、end)value:配列要素の値を塗りつぶします.start:開始インデックス、デフォルト値は0です.end:終了インデックス、デフォルト値はthis.lengthです.
//        10   ,          'wo'      
var arr=new Array(10);
//  arr      3  , 8       wo
arr.fill('wo',3,9)
console.log(arr)//[empty × 3, "wo", "wo", "wo", "wo", "wo", "wo", empty]
var arr1=[1,2,3,4,5,6,7,8]
//       5
console.log(arr1.fill('  ',2,5))//[1, 2, "  ", "  ", "  ", 6, 7, 8]
forEach()法は配列の各要素に対して一回の与えられた関数を実行する.
  • forEachエルゴード配列:2つのパラメータ
  • コールバック関数は、3つのパラメータの現在の配列項目があり、現在の下付き、本配列
  • コールバック関数のthisは、デフォルトはwindow
  • を指します.
    var obj={
         
        1:'  ',
        5:'  ',
        7:'  '
    }
    var arr=[1,5,7]
    arr.forEach(function(item,index,self){
         
        console.log(this[item])//  ,  ,  
    },obj)       this   arr      
    
    map()メソッドは、供給された関数を呼び出した後の戻り値となる新しい配列を作成します.
    var arr=[1,3,5,7,9]
    var Newarr=arr.map(function(item,index){
         
        return item*2
    })
    //       ,           
    console.log(arr)// (5) [1, 3, 5, 7, 9]
    console.log(Newarr)// (5) [2, 6, 10, 14, 18]
    
    //            
    var number=[9,4,1,25,36]
    var num1=number.map(Math.sqrt)
    console.log(num1)//(5) [3, 2, 1, 5, 6]
    
    filter()法は提供された関数によって実現されるテストのすべての要素を含む新しい配列を作成する.
    //     60  
    function test(num){
         
        return num >= 60
    }
    var arr=[34,56,78,98,45,76,89,60].filter(test);
    console.log(arr)
    
    配列APIは私たちの日常の仕事に多くの便利をもたらしました.