分类 技术宅的演示性文稿 下的文章

let arr = [1,2,3,4,5]
上面数组的值,想要快速的计算出总和怎么计算呢?
用for循环来做确实能达到目的,但是不是一个聪明的做法。
javascript提供了reduce()方法
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

function getSum(total, num) {
    return total + num;
}
function myFunction(item) {
   console.log(arr.reduce(getSum))
}

计算结果依次为1+2=3 3+3=6 6+4=10 10+5=15

我们在下载文件的时候,后端同学给我们的一般是二进制的文件。
如果按照普通的请求方式处理,前端也没办法直接下载。
首先,下载获取到二进制流了以后,应该把二进制流转换成Blob类型,然后IE浏览器使用模拟点击的方式去下载,非IE浏览器可以使用navigator浏览器对象的方法来下载文件



- 阅读剩余部分 -

首先说一点,setColumnIndex是可以正常使用的,没有问题!
它接收两个参数,第一个是列,如果只有一列的话,第一个值就为0,第二个值就是你想动态设置的索引值!
我遇到的问题是这样的,首先用this.setData来设置了picker组件里面列的值,但是马上设置它的默认索引的时候出的问题。需要设置两次才能设置上。
这是因为小程序的setData是异步的,第一次设置的时候,picker的值还没有获取设置上去,所以第一次当然就设置不了当前索引。
解决这个问题的方法也很简答。在setData的回调里面做这个就OK了

this.setData({
    show:true,
    pickerName:'workexp',
    columns: values,
    pickerTitle:'选择工作经验'
},function(){
    picker.setColumnIndex(0,this.data.info.workExperience-1)
})