javascript 循环

165 阅读1分钟

filter

//filter 过滤,返回创建一个包含所有通过测试的元素的新数组。
      //返回的是新数组      
      let warehouseList=[{"id":1,"label":"RDC-北","value":"10005018"},{"id":2,"label":"DDC-东","value":"20005018"}];
      let t1=warehouseList.filter(t=>t.value==='10005018');
      console.log(t1);
      let t2=warehouseList.filter(t=>{        
        if(t.value==='10005018'){
          return t.label
          }
        });
      console.log(t2);
      console.log(t2[0].label);

返回结果

[{id: 1, label: 'RDC-北', value: '10005018'}]   
[{id: 1, label: 'RDC-北', value: '10005018'}]  
RDC-北

find

console.log('find');
      //find() 方法返回数组的第一个元素的值。
      let t3=warehouseList.find(t=>t.value==='10005018');
      console.log(t3);
      console.log(t3.label);

返回结果

{id: 1, label: 'RDC-北', value: '10005018'}  
RDC-北

map

      console.log('map');
      //map 映射,map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值。
      let t4=warehouseList.map(t=>{
        if(t.value==='10005018'){
          return t.value+'('+t.label+')';
        }
      });

返回结果

 ['10005018(RDC-北)', undefined]

some

      console.log('some');
      //some() 循环执行 :如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false。
      let t6=warehouseList.some(t=>{
        if(t.value==='10005018'){
          //return t.label=t.value+'('+t.label+')';
        }        
      });
      console.log(t6);   
      console.log(warehouseList);   

返回结果

true  
[{id: 1, label: '10005018(RDC-北)', value: '10005018'},
{id: 2, label: 'DDC-东', value: '20005018'}]

reduce

console.log('reduce');
      //reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
      let t5=warehouseList.reduce(function(x,y){
        return x.id+y.id;
      });
      console.log(t5);

返回结果

3