学习内容:arr.map()
提示:学习map基础使用
arr.map()返回为
一个新数组,每个元素都是回调函数的结果。
// map 重新格式化数组中对象
var kvArray =[
{ key: 1, value: '001' },
{ key: 2, value: '007' },
{ key: 3, value: '008' }
];
var reformattedArray = kvArray.map((obj)=> {
var rObj = {};
rObj[obj.key] = obj.value;
return rObj;
});
console.log(reformattedArray) // 返回对象为新数组
// 其结果是该数组中的每个元素都调用一个提供的函数后返回的结果
kvArray.map((obj,index)=> {
obj.value = obj.value + `当前索引${index}`
});
console.log(kvArray) //改边当前数组中内容
学习内容:arr.forEach()
提示:
forEach 基本使用 数据循环
/**
* forEach数据遍历
* arrs.array.forEach((CurrentValue,index,array) => {});
* Current Value(必须)- 当前数组元素的值
* Index(可选)- 当前元素的索引值
* Array(可选)- 当前元素所属的数组对象
*/
const numbers = ['1','2','3','4','5']
numbers.forEach((item) => {
console.log(item)
});
// 打印 1 2 3 4 5
numbers.forEach((item) => {
item = Number(item) + 1
});
console.log(numbers)
// 打印 ['1', '2', '3', '4', '5'] 不会重新改边数据结构
学习目标:arr.filter() arr.some()
提示:数组过滤
arr.filter() 数组检测是否满足条件arr.some()
/**
* arr.filter()
* filter() 是数组中的一个过滤器,用于把Array的某些元素过滤掉,然后返回剩下的元素 返回对象为数组
*/
let numbers = [1,2,3,4,5,6,7,8,9]
let bool = numbers.filter((item)=>{
return item % 2 != 0
})
console.log(bool)
// 打印 [1, 3, 5, 7, 9]
let numbers1 = [2,4,6,8,10]
let bool1 = numbers1.filter((item)=>{
return item % 2 != 0
})
console.log(bool1)
// 打印 [] 空数组
/**
* arr.some() 判断当前数组中是否有满足条件的对象
* some() 方法会依次执行数组的每个元素:如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false。
* some() 不会对空数组进行检测
* some() 不会改变原始数组
*/
let arr = [1,2,3,4,5,6]
let bool2 = arr.some((item)=>{
return item == 1
})
console.log(bool2)
// 打印 true