微信小程序js数组初始化_微信小程序之一:JS操作

本文介绍了微信小程序中JS操作数组的方法,包括.map()和.filter()的使用,以及如何设置动态页面标题、本地数据存储、获取系统信息、页面栈层级数和倒计时等功能的实现。此外,还提供了获取明天日期的代码示例。
摘要由CSDN通过智能技术生成

.map 方法示例 接口返回的imageURL拼接根地址

var tempArray = '接口返回的数组'

that.setData({

listArray: tempArray.map(function(item) {

item.imageURL = getApp().data.baseURL + item.imageURL;

//如果列表里没有子数组数据需要拼接根地址,就不用再次 .map 方法 直接return item

item.child.map(function(childItem) {

childItem.pic = getApp().data.baseURL + childItem.pic;

return childItem;

})

return item;

}),

})

.filter方法 遍历数组数据

示例:遍历cityArray 数组,找出cityArray数组中pid 等于

province 数组中province[e.detail.value].id的值

使用.filter方法 比 for 循环速度快

let newArray = that.data.cityArray.filter(item => item.pid === that.data.province[e.detail.value].id)

获取系统信息 下面是屏幕宽高

wx.getSystemInfo({

success: function(res) {

that.setData({

windowHeight: res.windowHeight,

windowWidth: res.windowWidth,

})

}

});

动态设置页面标题

第一种:定死页面标题修改 .json文件

{

"navigationBarTitleText": "标题"

}

第二种:动态自定义页面标题

wx.setNavigationBarTitle({

title: this.data.URLBackTitle

})

本地数据存储

// 同步方式存储数据

wx.setStorageSync('userInfo', this.data.userInfo);

//取出数据

var token = wx.getStorageSync('userInfo')

页面栈层级数

var pages = getCurrentPages();

console.log('页面栈层数' + pages.length)

if (pages.length == 10) {

//小程序最大10层

}else{

}

获取明天日期

//获取当前时间

var nowDate = new Date(new Date().toLocaleDateString());

//获取明天这个时间

var nowDate1 = new Date(nowDate.getTime() + 24 * 60 * 60 * 1000)

var date_value1 = nowDate1.getFullYear().toString()

var date_value2 = (nowDate1.getMonth() + 1).toString()

var date_value3 = nowDate1.getDate().toString()

if (date_value2.length == 1) {

date_value2 = '0' + date_value2

}

if (date_value3.length == 1) {

date_value3 = '0' + date_value3

}

var tomorrow = date_value1 + '-' + date_value2 + '-' + date_value3

倒计时

LastTimer: function() {

var that = this;

var totalSecond = 0;

//start_time服务端返回的团购开始时间

var start_time = new Date(that.data.start_time.replace(/-/g, "/"));

totalSecond = Date.parse(start_time) / 1000 - Date.parse(new Date()) / 1000;

//清理掉倒计时

clearInterval(that.data.interval_daojishi);

//开始倒计时

that.data.interval_daojishi = setInterval(function() {

// 秒数

var second = totalSecond;

// 天数位

var day = Math.floor(second / 3600 / 24);

var dayStr = day.toString();

if (dayStr.length == 1) dayStr = '0' + dayStr;

// 小时位

var hr = Math.floor((second - day * 3600 * 24) / 3600);

var hrStr = hr.toString();

if (hrStr.length == 1) hrStr = '0' + hrStr;

// 分钟位

var min = Math.floor((second - day * 3600 * 24 - hr * 3600) / 60);

var minStr = min.toString();

if (minStr.length == 1) minStr = '0' + minStr;

// 秒位

var sec = second - day * 3600 * 24 - hr * 3600 - min * 60;

var secStr = sec.toString();

if (secStr.length == 1) secStr = '0' + secStr;

that.setData({

countDownDay: dayStr,

countDownHour: hrStr,

countDownMinute: minStr,

countDownSecond: secStr,

});

totalSecond--;

if (totalSecond < 0) {

//倒计时结束,清理掉倒计时

clearInterval(that.data.interval_daojishi);

that.setData({

countDownDay: '00',

countDownHour: '00',

countDownMinute: '00',

countDownSecond: '00',

});

}

}.bind(this), 1000);

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值