配列演算マップフィルター

すべての配列操作の中で、マップとフィルターが最も便利です。これらの2つの方法でできることは、必ず言及してください。

マップ
マップは要素を配列に変換できます。配列が変換される理由については、これがマップの美しさです。タイプは開発者によって決定されます。
たとえば、オブジェクトには数値が含まれていますが、必要なのは数値のみであり、配列には関数が含まれており、Promiseが必要です、、、

マップはこの要件を簡単に満たすことができます。マップもフィルターも元の配列を変更しませんが、配列のコピーを返します。

    var arr1 = [{
    
     name: 0 }, {
    
     name: 1 }, {
    
     name: 2 }, {
    
     name: 3 }, {
    
     name: 4 }]
    console.log(arr1.map(x => x.name))               //[0, 1, 2, 3, 4]
    console.log(arr1.map(c => c.name * 6))            //[0, 6, 12, 18, 24]

配列の各要素は、提供されたメソッドを呼び出すときに、要素自体、要素の添え字、および配列自体の3つのパラメーターを渡します(これは一般的には使用されません)。

    const items = ['www', 'com']
    const arrls = ['111', '222']
    const cart = items.map((x, i) => ({
    
     name: x, index: arrls[i] }))
    console.log(cart)
    // [{name: "www", index: "111"},{name: "com", index: "222"}]

フィルタ

名前が示すように、フィルターは配列内の不要な要素を削除するために使用されます。マップと同様に、削除された配列を返します。

  	var arr = [1, 2, 3, 4, 5]
    console.log(arr.filter(c => c > 3))    			// [ 4 , 5 ]
    console.log(arr.filter(c => c == 4))    		// [ 4 ]
    console.log(arr.filter(c => c < 6 && c > 4))    // [ 5 ]

したがって、マップとフィルターを組み合わせて良好な結果を生成する方法。

    var arr = [1, 2, 3, 4, 5]
    console.log(arr.filter(c => c > 3).map(x => x*100))    // [ 400 , 500 ]
    //可能你会有疑问,为什么不直接在filter里面操作c,我们尝试一下
    console.log(arr.filter(c => (c > 3) * 100))    // [ 4 , 5 ]
    // *100 并没有生效

	//我们还可以在map中调用方法
	function C100 (c){
    
    
        return c * 100
    }
    var arr = [1, 2, 3, 4, 5]
    console.log(arr.filter(c => c > 3).map(C100) )  // [ 400 , 500 ]

おすすめ

転載: blog.csdn.net/qq_44977477/article/details/108616562