startWith
判断是否以某某开头
const idd = '51030019800730366x'
idd.startsWith('1980',6) //表示判断第6位后面是不是有1980 从1开始计算
idd.startsWith('51') // true
endWith
判断是否以某某结尾
const idd = '51030019800730366x'
idd.endWith('x') //true
这两个函数都是大小写敏感的
includes
判断是否包含某个字符串
const fan = 'i love laravist'
fan.includes('love') // true
fan.includes('love',10) // 判断第10位后面是否包含love字符串
reduce
对数组进行迭代执行
let a = [1,2,3]
console.log(a.reduce((prev, curr) => prev + curr, 0)) // 6
说明: 这个0可以不写,默认是0开始
遍历arguments
由于arguments的原型是一个对象,没有reduce这个方法,所以我们要使用Array.from转换为数组
function sum(){
console.log(Array.from(arguments).reduce((prev, curr) => prev * curr))
}
sum(1,2,3)
还有一种做法遍历参数
function sum(...somes) {
console.log(somes.reduce((prev, curr) => prev * curr))
}
sum(1, 2, 3)
这里的somes就直接是参数的数组了,可以直接使用reduce方法
计时器
每过10秒跑一次函数
//每过10秒发送一次数据
var time = setInterval(() => {
let analogyData: any = this.getAnalogyData(shiftStationConfig);
let timestamp = moment().format("YYYY-MM-DDTHH:mm:ss");
let data: EmergencyDataSourceData = {
timestamp: timestamp,
data: analogyData
};
console.log("data", data)
this.saveEmergencyDataSourceData({data, dataSourceId, emergencyEventId})
}, 10000);
保存数据到浏览器
//浏览器保存参数配值
if(!window.localStorage){
alert("浏览器不支持localstorage");
return false;
}else{
var storage= window.localStorage;
storage[`airShiftStation`] = JSON.stringify(this.editingAirShiftStation.configs)
console.log("airShiftStation", storage[`airShiftStation`])
}
localStorage值支持字符串,所以这里对象需要转字符串
从浏览器取出来
var storage = window.localStorage;
let dronStationConfig: any = JSON.parse(storage[`airDroneStation`]);
快速拆分字符串
let str = 'aaa.222'
str.slice(str.indexOf(".")+1)
数组转字符串
if (criteria.type) {
criteriaSegments.push(`${criteria.type.map(s => `type=${s}`).join("&")}`)
}
对数组进行累计
累加
[1, 2, 3].reduce((total, n) => total + n);
累乘
[1, 2, 3, 4].reduce((total, n) => total * n);