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