1.     var arr = ['1','2','3','4','5','6','7','8']
2.     arr.forEach(function(element,index,arr){
3.         // forEach 让数组中每一项都执行给定的函数 
4.         // 这个函数接受三个参数  
5.         //      currentValue 当前相项的值
6.         //      index 当前元素的索引
7.         //      arr 数组对象本身
8.         console.log(index)
9.         console.log(arr)
10.         console.log('第%d个位置的索引值是:%s',index,element)
11.     })
12.     function isEmptyString(itme,index,array){
13.         // 检测数组中的所有元素是否通过了指定的测试
14.         // 判断是否为空白字符串
15.         console.log(itme.length)
16.         itme = itme.trim() //.trim 修剪 把两头的空白去掉
17.
18.         return itme.length == 0
19.     }
20.     // every是为每个元素执行一次函数            
21.     // 如果每一个数组元素都符合条件总体结果为true 否则为false
22.     console.log(arr.every(isEmptyString))
23.
24.
25.     console.log('************************************')
26.
27.     var arr1 = [1,2,3,4,5,6,7,8,9]
28.
29.     var result = arr1.map(function (item){
30.         return Math.pow(item,3)
31.         // pow() 方法可返回x的y次幂方
32.     }).reduce(function(preValue,value,index,arr){
33.         console.log(preValue) //1
34.         console.log(value) //8
35.         return preValue + value //9
36.     })
37.     console.log(result)
38.
39. //    reduce(function(调用返回的值或者提供的初始值,正在处理的元素,正在处理的元素索引,处理的数组对象本身){
40. //          如果没有提供初始值 则将数组中的第一个元素作为初始值
41. //    },提供的初始值) 
42.
43.     // map 的作用
44.     // 对数组中的每一个元素都进行指定运算 将运算结果构成一个数组
45.     // reduce 的作用
46.     // 对数组中的每一个元素都进行一次运算最终生成一个组合值
47.     // 能生成组合的原因在reduce参数function能够得到前值(前一次function的返回结果)