建议使用高阶函数例如 map() 和 reduce() 替代 iterators(迭代器)
// map 映射(一一对应)
let arr = [40,50, 88, 99];
let rusult = arr.map(item => item < 60 ? '不及格' : '及格');
console.log(rusult);
const officers = [
{ id: 20, name: '张三' },
{ id: 24, name: '李四' },
{ id: 56, name: '王五' },
{ id: 88, name: '赵六'},
];
const officersIds = officers.map(item => item.id);
console.log(officersIds);
// reduce 汇总(求总数,平均值等等)
let arr = [40,50,188, 99];
let rusult = arr.reduce((tmp, item, index )=>{
return tmp + item; // tmp 是返回的值,item 循环每一个值 ,index 是下标
});
// 最大值
let rusult = arr.reduce((tmp, item, index) => {
return (tmp || 0) > item ? tmp : item;
});
console.log(rusult);
// filter 过滤器
let arr = [40,50, 88, 99];
let rusult = arr.filter(item=>{
if(item%3===0){
return true; // 返回 true 显示
}else{
return false; // 返回 flase 不显示
}
});
// forEach 循环(迭代)
let arr = [40,50, 88, 99];
let rusult = arr.forEach((item,index)=>{
// item 循环每一个值 index 下标
});
// new Set
// 数组去重
const arr = ['aa', 'bb', 'cc', 'aa'];
console.log([...new Set(arr)]);
console.log(Array.from(arr));
// Array.from()
// 从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]
console.log(Array.from([1, 2, 3], x => x + x));
// expected output: Array [2, 4, 6]
网友评论