Guoguo-notes
主页
  • 常用笔记
  • 飞码篇
  • Java
  • React笔记
  • 袁果锅生态
GitHub
主页
  • 常用笔记
  • 飞码篇
  • Java
  • React笔记
  • 袁果锅生态
GitHub
  • 飞码篇

    • CSS--common.md
    • ES6.md
    • Git提交.md
    • Js获取当前时间的方法.md
    • Uni-App笔记.md
    • Uni-app API.md
    • Uniapp-插件.md
    • VueX 笔记.md
    • js函数封装.md
    • js常规.md
    • uView基本使用.md
    • uniapp 引入组件库.md
    • 常用正则表达式.md
    • 界面类.md
    • 笔记.md
    • 组件封装.md
    • 编程逻辑整理.md
    • 调用接口.md

判断数组字符串是否全等

if (JSON.stringify(newArray.sort()) == JSON.stringify(this.checkRightData.sort())) console.log("相等")

1. 时间戳转化为YYYY-MM-DD hh:mm:ss

这个是获取时间戳的函数

第一种
var timestamp = Date.parse(new Date());
输出:1640569738000
第二种
var timestamp=new Date().getTime();
输出:1640569787716
第三种
var timestamp = (new Date()).valueOf() 
输出:1640569936666

这个是时间戳转换为时间 [ **YYYY-MM-DD hh:mm:ss **]的函数

function timestampToTime(timestamp) {
        var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var Y = date.getFullYear() + '-';
        var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1):date.getMonth()+1) + '-';
        var D = (date.getDate()< 10 ? '0'+date.getDate():date.getDate())+ ' ';
        var h = (date.getHours() < 10 ? '0'+date.getHours():date.getHours())+ ':';
        var m = (date.getMinutes() < 10 ? '0'+date.getMinutes():date.getMinutes()) + ':';
        var s = date.getSeconds() < 10 ? '0'+date.getSeconds():date.getSeconds();
        return Y+M+D+h+m+s;
    }
 timestampToTime(1403058804);
 console.log(timestampToTime(1403058804));//2020-06-18 10:33:24
一小时的[时间戳](3,600,000
一天的时间戳86400000
一个月的时间戳2592000000
一年的时间戳31104000000

2. 生成六位随机整数

Math.trunc (Math.random()*(999999-100000)+100000)

3. 使用正则判断

手机号格式正不正确

let myreg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
if (this.fromData[key].value && myreg.test(this.fromData[key].value)) {
    console.log("正确的电话号码")
} else {
    uni.showToast({
        title: "请输入正确的号码",
        icon: "none"
    })
    return
}

身份证号正不正确

const card = "512326199102115645";
const str1 = card.replace(/(\w{6})\w*(\w{4})/,'$1********$2'); 
console.log(str) // 512326********5645

4.js去除数组对象中的重复对象

1、根据数组对象中的id作比较,id相同的去掉。这种方法只会保留 id 第一个出现的数组

第一种:

 var arr = [
    {id: 1, name: 'sli', year: 2012},
    {id: 2, name: 'ap', year: 2015},
    {id: 1, name: 'alslion', year: 2012},
    {id: 3, name: 'pose', year: 2012},
]

//删除arr中的重复对象
var newArr= [];
var arrId = [];
for(var item of arr){
    if(arrId.indexOf(item['id']) == -1){
        arrId.push(item['id']);
        newArr.push(item);
    }
}
console.log(arrId,newArr);

结果如下:

第二种:reduce()

var arr = [
    {name:'uzi',color:'blue'},
    {name:'pdd',color:'white'},
    {name:'mlxg',color:'orange'},
    {name:'uzi',color:'red'},
]

let hash = {};
var newArr = arr.reduce((item, next) => {
    hash[next.name] ? '' : hash[next.name] = true && item.push(next);
    return item
}, []);
console.log(newArr);

结果如下:

第三种:

let arr = [
	{name:'黎明',id:21111},
    {name:'王小二',id:1111},
    {name:'大小二',id:3222}
]

arr.splice(arr.findIndex(item => item.id === 3222), 1); 

结果如下:

2、数组对象完全相同的去除

第一种:

		function delObj(obj) {
            var uniques = [];
            var stringify = {};
            for (var i = 0; i < obj.length; i++) {
                var keys = Object.keys(obj[i]);
                keys.sort(function(a, b) {
                    return (Number(a) - Number(b));
                });
                var str = '';
                for (var j = 0; j < keys.length; j++) {
                    str += JSON.stringify(keys[j]);
                    str += JSON.stringify(obj[i][keys[j]]);
                }
                if (!stringify.hasOwnProperty(str)) {
                    uniques.push(obj[i]);
                    stringify[str] = true;
                }
            }
            uniques = uniques;
            return uniques;
        }
        var arr = [
            {name:'uzi',color:'blue'},
            {name:'pdd',color:'white'},
            {name:'mlxg',color:'orange'},
            {name:'uzi',color:'blue'},
        ]
        console.log('arr:',delObj(arr))
		
		var arr1 = [
            {name:'uzi',color:'blue'},
            {name:'pdd',color:'white'},
            {name:'mlxg',color:'orange'},
            {name:'uzi',color:'red'},
        ]
        console.log('arr1:',delObj(arr1))

5.对象数组去重【现锋】

let newArr = []
newdataArray.forEach((item) => {
    let isClude = false
    newArr.forEach((item1) => {
        if (JSON.stringify(item) === JSON.stringify(item1)) {
            isClude = true
        }
    })
    if (!isClude) {
        newArr.push(item)
    }
})
console.log('newArr', newArr)

6.对象数组中的 根据单一对象值来去重【现锋】

let newArr = []
newdataArray.forEach((item) => {
    let isClude = false
    newArr.forEach((item1) => {
        if (JSON.stringify(item.title) === JSON.stringify(item1.title)) {
            isClude = true
        }
    })
    if (!isClude) {
        newArr.push(item)
    }
})
console.log('newArr', newArr)

7.用于多个字符串 变成用逗号分割的多个字符串

function linkString(aaaaaaaaaaa, bbbbbbbbbbb, ccccccccccc) {
    let newPicString1 = ""
    if (newPicString1) {
        if (aaaaaaaaaaa) {
            newPicString1 = newPicString1 + ',' + aaaaaaaaaaa
        }
    } else {
        newPicString1 = aaaaaaaaaaa
    }

    if (newPicString1) {
        if (bbbbbbbbbbb) {
            newPicString1 = newPicString1 + ',' + bbbbbbbbbbb
        }
    } else {
        newPicString1 = bbbbbbbbbbb
    }

    if (newPicString1) {
        if (ccccccccccc) {
            newPicString1 = newPicString1 + ',' + ccccccccccc
        }
    } else {
        newPicString1 = ccccccccccc
    }
    return newPicString1
}

let aaaaaaaaaaa = "你是不是大聪明"
let bbbbbbbbbbb = ""
let ccccccccccc = "是"		
const newString1 = linkString(aaaaaaaaaaa, bbbbbbbbbbb, ccccccccccc)
console.log(newString1, 'linkString(aaaaaaaaaaa,bbbbbbbbbbb,ccccccccccc)');

8. 数组转为 逗号 分割的 的字符串

const list= ['aaa','vvvv','','dsfsdf']
console.log(list.join(','));
Edit this page
Last Updated:
Contributors: 袁果锅
Prev
VueX 笔记.md
Next
js常规.md