JavaScript
前端打工人
这个作者很懒,什么都没留下…
展开
-
js 一个数组中过滤掉另一个数组的方法
有数组A与数组B,要在数组A中找到数组B中包含的项,并将其过滤掉,就可以利用filter方法和every方法快速实现。原创 2023-04-23 10:53:59 · 624 阅读 · 1 评论 -
js 把对象转为字符串,并以逗号隔开
项目上一个模块有一个这样的需求,需要把表单form对象的值转换成字符串拼接到另一个表单上,下面先看下效果图。这个是动态表单,需要填写值这个图是转换后的数据如表单是下面对象你想转换成,如果你有类似的需求,只是拼接的数据格式不一样,修改一下即可。原创 2022-11-14 17:10:06 · 1864 阅读 · 0 评论 -
vue几行代码实现复制功能,无需安装插件
如果是多行文本,需要保留换行符可以使用textarea标签,input是不会保留换行符的。如果需要插件的同学,可以使用。,自行安装,使用方法。原创 2022-09-27 14:22:07 · 888 阅读 · 0 评论 -
js两个数组对象进行合并去重
js两个数组对象进行合并去重的方法原创 2022-07-28 16:03:16 · 1736 阅读 · 0 评论 -
前端使用a标签下载文件download属性失效问题
在使用a标签下载文件时,download属性可以更改下载的文件名,但是当a标签的下载链接跨域时,download属性将不会生效,原因是浏览器无法获取到文件,不能对他进行更改html5新特性a标签download属性只支持谷歌和火狐在谷歌和火狐浏览器a标签download属性修改文件名失效的原因不同源,访问的域名和href的域名要一致。......原创 2022-07-27 15:18:55 · 6365 阅读 · 9 评论 -
javascript 数组对象根据id去重的几种方法
例如:想去除重复id为1的项 arr = [ { id: 1, name: '张三', age: 20 }, { id: 1, name: '张三', age: 20 }, { id: 2, name: '李四', age: 20 }, { id: 3, name: '马五', age: 20 }, ];方法一通过forEach再通过some方法判断数组是否包含当前对象id,不包含则添加 some() { let some: any = [];原创 2022-05-23 16:03:08 · 2802 阅读 · 2 评论 -
js判断对象是否为空
方法1:JSON.stringify()JSON.stringify()。将 JavaScript 值转换为 JSON 字符串,再判断该字符串是否为"{}"var data = {};var b = (JSON.stringify(data) == "{}");alert(b); //true 为空, false 不为空`方法2:es6的方法Object.keys()var data = {};var arr = Object.keys(data);alert(arr.length =原创 2022-05-18 18:03:35 · 520 阅读 · 0 评论 -
JavaScript之Promise的使用,让你真正读懂ES6的Promise
前言我还记得我刚开始学习JavaScript的Promise很多概念都不懂很"懵逼", 现在已经工作有小半年时间了, 整理整理笔记和个人在工作中的使用情况, 写个文章记录一下(PS只记录怎么使用, 原理太深奥功力不够), 如果有不对的地方前辈勿喷👀Promise简介Promise也称期约, 是ES6推出的一个异步解决方案, 可以有效的解决异步函数嵌套太深(“回调地狱”)的问题什么是回调地狱?假设有个需求需要获取用户的指定数据用户数据3这个数据依赖用户数据2而用户数据2又依赖于用户数据1, 所以正确原创 2022-05-12 12:45:56 · 702 阅读 · 0 评论 -
一篇文章说清 webpack、vite、vue-cli、create-vue 的区别
webpack、vite、vue-cli、create-vue 这些都是什么?看着有点晕,不要怕,我们一起来分辨一下。先看这个表格:脚手架vue-clicreate-vue构建项目vite打包代码webpackrollup脚手架:创建项目,选择性安装需要的插件,指定统一的风格,生成demo。构建项目:建立项目的运行环境,需要手动安装插件。打包代码:代码写好之后,为了更好的使用,需要打包处理一下。是不是有了一个整体的感觉?我们再来详细的看一下。vue-原创 2022-05-10 17:03:08 · 3379 阅读 · 3 评论 -
JavaScript 新增两个原始数据类型Record 和 Tuple
JavaScript即将推出两个新的数据类型:Record 和 Tuple ,这俩是啥呢?其实就是一个只读的 Object 和 Array,其实在其它语言中已经有类似的数据类型了,例如 Python 中也有 Tuple(元祖)这一类型,作用也是一个只读的数组(在Python里叫只读的列表),一起来了解一下,这个特性是一个第2阶段提案(即差不多稳了),想要提前体验的,文末也有 polyfill 的使用教程!基础写法// Recordsconst myRecord = #{ name: '01',原创 2022-03-07 13:58:07 · 3472 阅读 · 0 评论 -
49个常用JavaScript方法封装,赶快收藏起来备用吧(js去重、排序、防抖节流等)
1、输入一个值,返回其数据类型**function type(para) { return Object.prototype.toString.call(para)}2、数组去重function unique1(arr) { return [...new Set(arr)]}function unique2(arr) { var obj = {}; return arr.filter(ele => { if (!obj[ele]) {原创 2022-01-27 14:15:58 · 167 阅读 · 0 评论 -
js比较两个对象数组的值是否相同
对象数组相同:比较id和name的值都相同,返回truelet arr1= [{"id" : 1, "name" : "zhangsan"}];let arr2= [{"id" : 1, "name" : "zhangsan"}];var data= JSON.stringify(arr1) === JSON.stringify(arr2);console.log(data); //true不相同:比较id和name的值不相同时,返回falselet arr1= [{"id" : 1, "n原创 2021-09-26 10:53:57 · 4806 阅读 · 0 评论 -
js根据数组中对象的某个属性值进行去重
方法一:var arr = [ { name:'张三', value: '河南' }, { name:'王二', value: '阿里' }, { name:'王二', value: '杭州' }]//有如上数组,想根据数组中的对象的name属性进行去重,如果name一样的话,重复只保留一条。根据ES6属性编写函数代码如下: unique(arr)function unique(arr1) { const res = new Ma原创 2021-08-30 14:53:59 · 12665 阅读 · 6 评论 -
JS获取当前时间,并转换成年月日时分秒
getNowTime () { let dateTime let yy = new Date().getFullYear() let mm = new Date().getMonth() + 1 let dd = new Date().getDate() let hh = new Date().getHours() let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : new Date().getMi原创 2021-06-11 11:49:01 · 1188 阅读 · 1 评论 -
JS年月日日期格式的2个时间比较大小
第一种方式:利用时间戳getTime(),将时间转化成以毫秒为单位的let date1:any='2020-03-20';let date2:any='2021-04-07';console.log(date1.getTime()>date2.getTime());//false第二种方式:直接利用new Date()转化成系统时间格式进行比较console.log(new Date(date1)>new Date(date2));//false上面两种方法都比较使用,自己在原创 2021-04-07 14:07:59 · 932 阅读 · 0 评论 -
js判断是否为数组,对象转数组方法
注意:不能使用typeof来判断是否为数组,因为它返回的是一个对象typeof操作符// 数值typeof 37 === 'number'; // 字符串typeof '' === 'string'; // 布尔值typeof true === 'boolean'; // Symbolstypeof Symbol() === 'symbol'; // Undefinedtypeof undefined === 'undefined'; // 对象typeof {a: 1}原创 2020-12-29 09:25:20 · 329 阅读 · 0 评论 -
js更改数组中对象的key,数组的值保持不变
例如:把如下data1的key名称修改成data2中的key名称data1: [ { appName: '应用1', capacity: 233456 }, { title: '应用2', key: 124535 }] data2: [ { name: '应用1', value: 233456 }, { name: '应用2', value: 124535 } ]方法:let data1 = [ { appName: '应用1', capacity: 233456 }, { appName:原创 2020-12-22 10:22:50 · 1502 阅读 · 2 评论 -
JS实现页面打印(整体、局部)
我们在网页开发过程中经常会有打印页面的需求,通过JS来实现的方法有很多,这里我做了一个整理,供大家参考。通过:window.print()整体打印<a href="javascrīpt:window.print()" rel="external nofollow" target="_self">打印</a>现在就轻松实现了页面的打印,但是这种方式会将整个页面打印,如果想要实现指定区域的打印需要通过下面的设置局部打印首先,在html中,通过star和end来标记打印区域原创 2020-09-21 15:22:24 · 4157 阅读 · 0 评论 -
js中string转map的方法
例如:var r = "{'msg':'你好'}" ;var map = eval("("+r+")"); //r为String类型的数据var xx = map.msg; //此时 xx 的值为 你好原创 2020-08-31 10:19:55 · 4529 阅读 · 0 评论 -
js中对象数组按对象属性排序
var arr = [{ data: 21, weather:'晴' }, { data: 111, weather:'小雨' }, { data: 32, weather:'大雨' }, { data: 2, weather:'小雨' }, { data: 2, weather:'阴' }, { d原创 2020-07-29 09:35:05 · 285 阅读 · 0 评论 -
js判断对象不为空对象
一、我用的ES6判断对象不为空对象let data = {};//判断空对象let count = Object.keys(data).length;//用Object.keys(data).length来判断是否味空对象, 如果为空对象,length == 0二、JSON.stringify(evtValue)=='{}'原创 2020-07-09 23:00:55 · 1726 阅读 · 0 评论 -
js 树形结构数据 已知某一子节点 一次向上获取所有父节点
已知树形结构 res。现在有一个对象是{code: 1,name: “水上分局”},想向上依次获取取得父级,比如说水上分局 父节点是汉阳区 汉阳区父节点是武汉市 武汉市父节点是湖北省 最后将 汉阳区 武汉市 湖北省var res = [{ code: 1, name: "湖北省", children: [{ code: 1, name: "武汉市", children: [{ code: 1,原创 2020-07-09 22:39:20 · 3980 阅读 · 3 评论 -
在forEach循环里头使用splice()遇到的坑
请记住:在使用map、forEach等链式调用的方式去遍历数组集合时,不要在循环体中移除数组集合的成员,简单来说就是不要减少数组的长度,否则数组的指针会指向错误【1】例子:循环arr数组,将item为1的元素从数组中删除let arr = [1, 1, 2]arr.forEach((item, index, arr) => { if (item == 1) { arr.splice(index, 1) }})console.log(arr) // [1, 2]【2】.原创 2020-07-08 22:10:12 · 698 阅读 · 1 评论 -
js判断对象是否为空对象的几种方法
1.将json对象转化为json字符串,再判断该字符串是否为"{}"var data = {};var b = (JSON.stringify(data) == "{}");alert(b);//true2.for in 循环判断var obj = {};var b = function() {for(var key in obj) { return false;} return true;}alert(b());//true3.jquery的isEmptyObject方法/原创 2020-07-08 09:04:07 · 508 阅读 · 0 评论 -
js 数组对象去重
let arr = [ {name: 'name1', id: 1}, {name: 'name2', id: 2}, {name: 'name1', id: 3}, {name: 'name3', id: 4}]let hash = {} this.newArr = arr.reduce((item, next) => { hash[next.name] ? '' : hash[next.name] = true && item.push(next)原创 2020-06-19 10:45:52 · 155 阅读 · 0 评论 -
js 删除字符串中指定字符
一、str.subString()subString()用法太简单,这里不做描述,重点讲一下replace().注意:str.substring(4); 括号里只有一位数时,取的是str最后几位的字符串var str="aabbccdd";console.info(str.substring(4)); //得到ccdd二、str.replace()查找字符串中的一个指定字符,可...原创 2020-04-27 15:45:05 · 4896 阅读 · 0 评论 -
js通过识别字符串中的分号进行换行
var str = "温馨提示:您的手机已于2017-10-14 7:30分欠费20元;您的手机已于2017-10-14 8:30分欠费30元;您的手机已于2017-10-14 9:30分欠费40元;";var reg = /[;;]/g;str=str.replace(reg,"$&\r\n");console.log(str);//温馨提示:您的手机已于2017-10-14 7...原创 2020-04-21 16:00:48 · 2256 阅读 · 0 评论 -
js字符串与数组之间的转换
字符串转数组首先声明一个测试用的字符串let str = "abcd"1.split方法 使用特定的分隔符let newStr = str.split("")console.log(newStr) // ["a", "b", "c", "d"] 2....运算符console.log([...newStr]) // ["a", "b", "c", "d"]3.Array.fr...原创 2020-04-17 14:53:39 · 182 阅读 · 0 评论 -
js中JSON对象与字符串之间的相互转化
var str = '{ "name": "programer", "age": "18" }'; //JSON字符串JSON字符串转换为JSON对象var obj = str.parseJSON();//将JSON字符串转换为JSON对象var obj = JSON.parse(str);// 将字符串转换为JSON对象将JSON对象转化为JSON字符串var str = JSO...原创 2020-04-02 10:45:58 · 105 阅读 · 0 评论 -
js获取当前年月日时分秒
var date = new Date();var nowDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " +date.getHours()+ ":" + date.getMinutes()+":"+date.getSeconds();console.log(nowDate)...原创 2020-03-06 10:35:23 · 486 阅读 · 0 评论