大致用法
控制台输出:
代码如下:
/*
forEach: 遍历数组
every:遍历数组,找到条件-->return false;终止循环
map:修改并返回新数组
filter:过滤并返回新数组-->会遍历所有
find:找到并返回数组元素-->不会遍历所有
findIndex:找到并返回数组索引
some:是否存在某个元素
flatMap:拉平数组-->只能拉平一层,二层数组转一层
reduce:求和
*/
const arr = [1, 2, 3]
console.log("---------forEach---------");
arr.forEach(v => {
console.log(v)
})
console.log("---------every---------");
arr.every(v=>{
console.log(v);
return false
})
console.log("---------map---------");
console.log(arr.map(v=>{
return 1
}));
console.log("---------filter---------");
console.log(arr.filter(v=>{
return v===1
}));
console.log("---------find---------");
console.log(arr.find(v=>{
return v===1
}));
console.log("---------some---------");
console.log(arr.some(v=>{
return v===1
}));
console.log("---------flatMap---------");
const arr2 =[1,2,3,[1]]
console.log(arr2.flatMap(v=>{
return v
}));
console.log("---------reduce---------");
console.log(arr.reduce((sum,v)=>{
return sum +v
}));
map方法应用
this.tableData = res.rows.map(item => {
if (item.ticketPrice == null || item.ticketPrice == '') {
item.ticketPrice = 0;
}
if (item.vipTicketPrice == null || item.vipTicketPrice == '') {
item.vipTicketPrice = 0;
}
if (item.passengerNum == null || item.passengerNum == '') {
item.passengerNum = 0;
}
if (item.vipPassengerNum == null || item.vipPassengerNum == '') {
item.vipPassengerNum = 0;
}
if (item.freeTickets == null || item.freeTickets == '') {
item.freeTickets = 0;
}
if (item.totalAmount == null || item.totalAmount == '') {
item.totalAmount = 0;
}
return item;
});
比较两组数组,得出新数组
1、现在有两个数组
let arr1 = [1, 2, 3, 4, 5, 6, 7]
let arr2 = [1, 2, 3, 4
2、期望 arr1 和 arr2比较之后,得到新数组,如下:
let newArr = [5, 6, 7]
3、实现
// 方式1
let arr1 = [1, 2, 3, 4, 5, 6, 7]
let arr2 = [1, 2, 3, 4]
let res = []
res.push( arr1.filter(item => {
return !arr2.includes(item)
}))
// 方式2
let arr1 = [1, 2, 3, 4, 5, 6, 7]
let arr2 = [1, 2, 3, 4]
let res = []
res.push( arr1.filter(item => {
return arr2.indexOf(item) === -1
}))
// 方式3
let arr1 = [1, 2, 3, 4, 5, 6, 7]
let arr2 = [1, 2, 3, 4]
let res = []
for(let i = 0; i < arr1.length; i++){
if(!arr2.includes(arr1[i])){
res.push(arr1[i]);
}
}
console.log(res) // res就是比较后,不同的数据组成的新数组