1. 程式人生 > >JS之Array型別迭代方法

JS之Array型別迭代方法

every():對陣列中的每一項執行給定函式,如果該函式對每一項都返回true,則返回true

        var data=[{
			id:1,
			name:'terry',
			age:12
		},{
			id:20,
			name:'lerry',
			age:13
		}];
		var val=data.every(function(item){	
          //獲取data陣列中每一項的id與10比較,只要有一個不符合條件id<10則返回true
          return (item.id)<10; 
        });
        console.log(val);     //false

filter():對陣列中的每一項執行給定函式,返回該函式會返回由true的項組成的陣列

       var data=[{
			id:10,
			name:'terry',
			age:12
		},{
			id:2,
			name:'lerry',
			age:13
		}];
		var val=data.filter(function(item){
            return (item.id)<10;	
        });
        console.log(val);   //Arrry
        var dt=[1,2,3,4,5,6,7];
        var vals=dt.filter(function(item){
             return item<7;
        });
        console.log(vals);  //Array(6) [ 1, 2, 3, 4, 5, 6 ]
     
​

map:對陣列中的每一項執行給定函式,返回每一次函式呼叫的結果組成的陣列

         var data=[{
			id:10,
			name:'terry',
			age:12
		},{
			id:2,
			name:'lerry',
			age:13
		}];
		var val=data.map(function(item){
            return (item.id)<10;  //Array [ false, true ]
        });
        console.log(val);
        var dt=[1,2,3,4,5,6,7];
        var vals=dt.map(function(item){
             return item<7;
        });
        console.log(vals);  //Array(7) [ true, true, true, true, true, true, false ]

some():對陣列中的每一項執行給定函式,如果該函式對任一項返回true,則返回true

       var data=[{
			id:10,
			name:'terry',
			age:12
		},{
			id:2,
			name:'lerry',
			age:13
		}];
		var val=data.some(function(item){
            return (item.id)<10;	 //true
        });
        console.log(val);
        var dt=[1,2,3,4,5,6,7];
        var vals=dt.some(function(item){
             return item<7;
        });
        console.log(vals);   //true

還有個forEach,可以看以前的文章