1:将一组单词整理成数组的格式
2:对比两个数组中的单词是不是全等
3:localStorage的设置以及获取删除
4:删除数组中某个元素后面的所有元素
5:判断字符串中有没有那个字段以及判断有没有某个队对象
6:数组对象格式转换成对象,或者说取出数组对象中的想要的value组成一个新的数组对象
7:处理手机号的隐藏
8:获取当前日期的前七天
9:css实现序号的编写
js的知识积累
最近自己独自开发了一个区块链的VUE项目前端遇到了很多的问题,以前都是跟人家组合开发的,这次单独开发感觉自己的经验太少了,
将一组单词整理成数组的格式
例如 下面的一组单词 每个单词中间有空格,将他们整理成数组的格式
//如 var arr = ["a","b",""c]
var mnemonic = salute rely pistol offer clump virus cousin bean welcome laugh window trade
var mnemonicArr = mnemonic.replace(/\s+/g, ',').split(',');
console.log(mnemonicArr)
["salute","rely","pistol","offer","clump","virus","cousin","bean","welcome","laugh","window","trade"]
//将数据打乱顺序赋值给另一个参数的的方法 VUE 通过 数组.sort(() => Math.random() - 0.5);
this.arr = mnemonicArr.sort(() => Math.random() - 0.5);
其中关键 mnemonic.replace(/\s+/g, ‘,’).split(’,’),用正则表达式将空格替换成逗号(,)
如果想将一个数组(二)变成 (一)的样子
一:
var mnemonic = salute rely pistol offer clump virus cousin bean welcome laugh window trade
二:
var words = [“salute”,“rely”,“pistol”,“offer”,“clump”,“virus”,“cousin”,“bean”,“welcome”,“laugh”,“window”,“trade”]
只需要 Arr.join(" “)
var arrjoin = words.join(” ")
console.log(arrjoin) //salute rely pistol offer clump virus cousin bean welcome laugh window trade
对比两个数组中的单词是不是全等
this.wordsArr:[“salute”,“rely”,“pistol”,“offer”,“clump”,“virus”,“cousin”,“bean”,“welcome”,“laugh”,“window”,“trade”]
this.mnemonic:[“salute”,“rely”,“pistol”,“offer”,“clump”,“virus”,“cousin”,“bean”,“welcome”,“laugh”,“window”,“trade”]
let flag = true;
let len = this.wordsArr.length;
// 判断本地存储的长度跟选中添加的长度是否一致
if (this.mnemonic.length != len) {
flag = false;
}
// 判断每个数组中的单词是不是全等
for (let i = 0; i < len; i++) {
if (this.wordsArr[i] != this.mnemonic[i]) {
flag = false;
}
}
if (flag == true) {
localStorage.setItem('isBackupMnemonic', JSON.stringify(this.wordsArr))
// 验证成功的步骤
this.$router.push("/totalAssets")
} else {
// 验证失败的步骤
this.$dialog.alert({
message: '请输入正确的助记词'
}).then(() => {
this.$router.go(0)
});
}
localStorage的设置以及获取删除
关于本地存储的知识(本人也是第一次用的,开始的时候觉得很难,后来用起来觉得也就是localStorage的增、删、改、查)
json.stringfy()将对象、数组转换成字符串;json.parse()将字符串转成json对象。
存储:localStorage.setItem(“变量”, JSON.stringify(“你需要存到localStarage中的内容”))
获取:var get = JSON.parse(localStorage.getItem(‘变量’))
删除:localStorage.remove(‘变量’)
这个文章写得很好,可以去看,参考,
html5的localStorage之【增、删、改、查】
删除数组中某个元素后面的所有元素
godele(index, e) {
//lists是个数组 如 lists = 【1,2,3,4,5】
var arr = this.lists
// 删除他下面的所有元素
arr.splice(index + 1, arr.length - index)
},
判断字符串中有没有那个字段以及判断有没有某个队对象
if(this.isPic.indexOf('http://www.t1.com') == -1){
//如果没有的话
}else{
//如果有的话
}
判断是否含有某个对象
if (typeof (res.data.info) !== "undefined")
{
localStorage.setItem('ali_account', res.data.info.ali_account)
}
var arr = [“1”, “2”, “3”];
var mapResult = arr.map(function(item, index, array) {
return item - 0;
});
console.log(mapResult);
如何将数组对象格式转换成对象,或者说取出数组对象中的想要的value组成一个新的数组对象
将下面的 jsonarr 转换成 newarr
初始数据:var jsonarr = [{id:0,title: “00”},{id: 1,title: “11”}, {id: 2,title: “22”}, {id: 3,title: “33”}];
想要的效果:var newarr = [“11”, “22”, “33”, “44”]
例子:
var jsonarr = [{id:0,title: "00"},{id: 1,title: "11"}, {id: 2,title: "22"}, {id: 3,title: "33"}];
var newArr = [];
jsonarr.map((m, index) => {
// 首先打印 看能不能取出想要的数据
console.log(m.title)
//意思是 给每一项中的参数初始化并赋值
newArr[index] = m.title
// 打印出数组 虽然出现多个数组,最后一个才是我们要的
console.log(newArr)
})
console.log(newArr)
//第二步:根据拿到数组var newarr = ["11", "22", "33", "44"]中的 某个值 查询 var jsonarr = [{id:0,title: "00"},{id: 1,title: "11"}, {id: 2,title: "22"}, {id: 3,title: "33"}]; 中的id ;
// 标准写法:
var jsonarr = [{id:0,title: "00"},{id: 1,title: "11"}, {id: 2,title: "22"}, {id: 3,title: "33"}];
// let item = jsonarr.find(md => md.id=== '取到的值');
let item = jsonarr.find(md => md.id === 2);
console.log("————————————————————————");
console.log(item.id);
图一:
==vue的写法 uniapp ==
data() {
return {
dealerList:[],
dealerSelected: 0,
}
}
mounted() {
this.go()
}
methods:{
go(){
var jsonarr = [{id: 1,title: "11"},{id: 2,title: "22"}, {id: 3,title: "33"}, {id: 4,title: "44"}];
// var arr = ["11", "22", "33", "44"]
jsonarr.map((m, index) => {
this.dealerList[index] = m.title
})
console.log(this.dealerList)
},
// 选择
changedealer({newVal,index}) {
// newVal 选择的值 index 选择的顺序值
this.dealerSelected = newVal;
console.log(" 我是选择是: " + this.dealerSelected);
var jsonarr = [{id:0,title: "00"},{id: 1,title: "11"}, {id: 2,title: "22"}, {id: 3,title: "33"}];
let item = jsonarr.find(md => md.title=== this.dealerSelected);
console.log(item.id);
// 根据title 输出这个数组的id
// let item = jsonarr.find(md => md.title=== "33");
// 输出 3 console.log(item.id);
},
}
==判断一个对象中是否含有某个属性==
item.hasOwnProperty('path')
处理手机号的隐藏(第一种)
data() {
return {
account: "13123456789",
}
},
mounted() {
this.substr(this.account)
},
substr(account) {
var str = account
var str2 = str.substr(0, 3) + " **** " + str.substr(7);
this.account = str2
},
处理手机号的隐藏(第二种)
var contact = account;
if(contact.indexOf('@') !== -1){
var arr = contact.split("@");
state.contact = arr[0].slice(0, arr[0].length - 1) + '****@' + arr[1];
localStorage.setItem('contact',state.contact);
}else{
state.contact = contact.slice(0, 3) + '****' + contact.slice(7, 12);
localStorage.setItem('contact',state.contact);
}
console.log(data)