foreach 遍历
var arr = ["aaa","bbb","ccc"]
//回调函数 (遍历,索引,原数组)
arr.forEach(function (item,index,arr) {
console.log(item,index,arr);
})
打印为
aaa 0 (3) ['aaa', 'bbb', 'ccc']
bbb 1 (3) ['aaa', 'bbb', 'ccc']
ccc 2 (3) ['aaa', 'bbb', 'ccc']
map 映射 (可用于复制数组)
var arr = [1,2,3,4,5]
var arr2 = arr.map(function(item){
return item*item
})
console.log(arr2);
// 打印为 (5) [1, 4, 9, 16, 25]
用于打印列表。
var arr = ["xiangming","dashuai","dapang"]
//回调函数。
var arr2 =arr.map(function(item){
return"<li>"+item+"</li>"
})
document.write(arr2.join(" "))
filter 过滤
(可以找到所有符合条件的放在数组中)
var arr =[
{
name:"aaa",
price:100
},
{
name:"bbb",
price:200
},
{
name:"ccc",
price:300
}
]
var arr2 = arr.filter(function(item){
// 类似购物车筛选价格。
return item.price<=200
})
console.log(arr2);
find
(只可以找到一项符合条件的)
var arr = [
{
name:"英语",
grade:90
},
{
name:"数学",
grade:100
},
{
name:"体育",
grade:100
}
]
var arr2=arr.find(function(item){
return item.grade===100
})
console.log(arr2);
every
要求每一个都符合为true
var arr =[90,93,95,98]
var arr2 = arr.every(function(item){
// 用every 判定每一项都满足条件为true。
return item>=90
})
console.log(arr2);
some
(只要一个满足条件就为true)
var arr =[1,2,3,93]
var arr2 = arr.some(function(item){
// 用every 判定每一项都满足条件为true。
return item>=90
})
console.log(arr2);
reduce 叠加
,0为初始值,进行循环。
//prev 初始为0,下一次为return的值,
// prev 4 item 1
// prev 5 item 2
// prev 7 item 3
//输出为10
var arr = [1,2,3]
var arr2=arr.reduce(function(prev,item){
return prev+item
},4)
console.log(arr2);