
javascript
慢慢の成长
摸鱼之余,来点小乐趣,写作不足之处,请大佬指教。
展开
-
获取当前月份/当前日期的前n个月/前n天的集合
获取当前月份/当前日期的前n个月/前n天的集合。原创 2023-01-08 21:42:22 · 244 阅读 · 0 评论 -
js 日期排序
js 日期(2023-01-01)格式排序原创 2023-01-08 21:30:19 · 371 阅读 · 0 评论 -
将下列对象组合为树状结构
数据结构如下图展示:let treeList = []const map = {}data.forEach(item => { map[item.id] = item})data.forEach(item => { const parent = map[item.errorPid] if (parent) { (parent.children || (parent.children = [])).push(item) } else { treeList原创 2022-02-17 13:40:04 · 439 阅读 · 0 评论 -
格式化金额到千分位
方法一:// 格式化金额(无保留小数)function toThousands(num) { var result = [], counter = 0; num = (num || 0).toString().split(''); for (var i = num.length - 1; i >= 0; i--) { counter++; result.unshift(num[i]); if (!(counter % 3) && i != 0)原创 2021-09-13 17:08:41 · 329 阅读 · 0 评论 -
根据某个对象属性对数组进行排序
// 根据每个人的年龄,升序排序数组personconst person = [ {name:"jack", age:21}, {name:"rose", age:17}, {name:"mike", age:23}, {name:"jonny", age:9}]; function objectSort(age) { // 比较函数通过age属性获得对象的年龄进行比较 // 比较函数作为函数返回值返回给sort return function原创 2021-08-24 14:40:50 · 334 阅读 · 0 评论 -
js二维数组转一维数组方法
var arr1 = [[0, 1], [2, 3], [4, 5]];var arr2 = arr1.reduce(function (a, b) { return a.concat(b)} );// arr2 [0, 1, 2, 3, 4, 5]var arr1 = [[0, 1], [2, 3], [4, 5]];function flatten(arr) { return [].concat( ...arr.map(x => Array.isArray(x) ? flatten(x)原创 2021-08-24 14:22:34 · 333 阅读 · 0 评论 -
isNaN() 和Number.isNaN()
isNaN() 和Number.isNaN()的用法:1、isNaN()是ES5的方法,Number.isNaN()是ES6的方法。2、isNaN:通过Number方法把参数转换成数字类型,如若转换成功,则返回false,反之返回true,它只是判断参数是否能转成数字,不能用来判断是否严格等于NaN。3、如果要判断某个值是否严格等于NaN不能用这个方法,ES6提供了Number.isNaN方法用来判断一个值是否严格等于NaN,它会首先判断传入的值是否为数字类型,如不是,直接返回false。原创 2021-04-02 10:13:40 · 691 阅读 · 0 评论 -
javaScript检测对象是否包含有数组中的某一项
如何判断对象是否含有数组中的某项,如果没有该项则插入该项并赋值0题干:let arr = [“a”, “b”, “c”, “d”]let obj = {a:12,b:13}期望结果:res = {a:12, b:13, c:0, d:0}Method 1:arr.forEach(item => { if (obj.hasOwnProperty(item)) { obj[item] = obj[item] } else { obj[item] = 0原创 2021-03-31 10:36:54 · 217 阅读 · 0 评论 -
封装26个大写字母方法
function AToZ(){ let arr = []; for(var i=0;i<26;i++){ // String.fromCharCode:接受一个指定的 Unicode 值,然后返回一个字符串 // 65代表字母A arr.push(String.fromCharCode(65+i)) } return arr}AToZ()...原创 2021-03-03 09:43:19 · 193 阅读 · 0 评论 -
js操作数组与字符串的转换
1、字符串转数组1、str.split(",",length):将字符串按某个字符切割成若干个字符串,并以数组形式返回参数说明:1)指定分隔符,指定从哪儿进行分隔的标记2)指定要返回数组的长度let str = '1,2,3'console.log(str.split(',')) // ["1", "2", "3"]console.log(str.split(',',2)) // ["1", "2"]console.log(str.split('-')) // ["1,2,3"]原创 2021-02-25 15:01:04 · 480 阅读 · 0 评论 -
vue项目使用vue-awesome-swiper及填坑
1、下载插件npm install --save vue-awesome-swiper2、引入1.全局引入在 main.js 里引入(全局):import VueAwesomeSwiper from 'vue-awesome-swiper'Vue.use(VueAwesomeSwiper)import 'swiper/dist/css/swiper.css'2.局部引入<script>import 'swiper/css/swiper.css'import {原创 2021-02-24 15:59:34 · 811 阅读 · 0 评论 -
闭包的知识点
1、含义闭包是指有权访问另外一个函数作用域中的变量的函数闭包是一种特殊的对象,它由两部分组成:执行上下文(代号 A),以及在该执行上下文中创建的函数 (代号 B),当 B 执行时,如果访问了 A 中变量对象的值,那么闭包就会产生,且在 Chrome 中使用这个执行上下文 A 的函数名代指闭包。2、变量的作用域1、全局变量:在函数内部可以直接读取全局变量var a = 5 //定义全局变量afunction closure() { console.log('获取全局变量a:' + a原创 2021-02-22 11:35:26 · 297 阅读 · 0 评论 -
JS操作字符串常用方法及增删改查
1.截取从 start 位置开始, end 位置结束(不包含 end) 的字符串,返回一个新字符串2.若参数为负数,需要从尾部位置倒数 负数参数长度 作为生效位置3.start 大于 end ,则返回空字符串;start 大于字符串长度,返回空字符串原创 2021-02-19 11:24:29 · 960 阅读 · 0 评论 -
使用js向字符串开始位置追加字符串
向字符串开始位置追加字符串str = “全剧,片花预告,穿帮,精选” // [“全部”,“全剧”,“片花预告”,“穿帮”,“精选”]let str = '全剧,片花预告,穿帮,精选'str.slice(0,0) // ""str.slice(0,0).concat('全部,') // "全部,"str.slice(0,0).concat('全部,', str) // "全部,全剧,片花预告,穿帮,精选"str.slice(0,0).concat('全部,', str).split(',')原创 2021-02-19 10:37:34 · 5078 阅读 · 0 评论 -
Math.xx()函数常用方法汇总
Math 是数学函数,但又属于对象数据类型 typeof Math => ‘object’console.dir(Math) 查看Math的所有函数方法Math对象绝对值Math.abs()Math.abs(-12) => 12取整// 1.向上取整// 即小数部分直接舍去,并向正数部分进1Math.ceil() Math.ceil(12.1) = 12Math.ceil(12.8) = 12Math.ceil(12.0) = 12Math.ceil(-12..原创 2021-02-07 10:09:16 · 338 阅读 · 0 评论 -
JS数组遍历常用方法总结
arr.some(item,index,array)用法:检测数组中的元素是否满足指定条件参数:1. item:数组中正在处理的元素。2. index:数组中正在处理的元素的索引值。(可选)3. array:被遍历的数组。执行:依次检测数组中每一个元素是否符合给定函数的条件,返回布尔值,不会对空数组处理,不改变原数组返回:1、如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。-2、如果没有满足条件的元素,则返回false。注意:有一个满足就返原创 2021-02-04 14:45:34 · 291 阅读 · 0 评论 -
JS操作数组之增删改查总结
万能方法:splice()向数组指定位置添加任意数量的元素用法:传入至少3个参数:1:增加时,起始位置、要删除的元素个数、要添加的元素,第二个参数传02:删除时,起始位置、要删除的元素个数,第二个参数传要删除的个数3:改,参考增加和删除let arr = [-2, -1, 0, 1, 2, 3]arr.splice(3,0,0.2,0.4,0.6,0.8)console.log(arr) // [-2, -1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 3]arr.sp原创 2021-02-02 11:00:42 · 299 阅读 · 0 评论 -
JS中的forEach,for in,for of和for的遍历优缺点及区别
forEach:可以三个参数,第一个是value,第二个是index,第三个是数组体1.定义:用于调用数组的每个元素,并将元素传递给回调函数2.缺点:不能同时遍历多个集合,在遍历的时候无法修改和删除集合数据,方法不能使用break,continue语句跳出循环,或者使用return从函数体返回,对于空数组不会执行回调函数。forEach不可以遍历对象,这也是它和for in的一个区别3.优点:便利的时候更加简洁,效率和for循环相同,不用关心集合下标的问题,减少了出错的效率原创 2020-10-19 11:35:23 · 3177 阅读 · 0 评论 -
如何将多维数组相同索引的元素组成新的多维数组
多维数组根据下标重组新多维数组题干描述:let moreArr = [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[6,4,7,7,8],[1,4,1,1,2],[0,0,0,0,0]]结果输出为:[[0, 0, 0, 0, 6, 1, 0],[0, 0, 0, 0, 4, 4, 0],[0, 0, 0, 0, 7, 1, 0],[0, 0, 0, 0, 7, 1, 0],[0, 0, 0, 0, 8, 2, 0]]function Tran原创 2020-07-16 12:11:07 · 571 阅读 · 0 评论 -
时间转换:时间戳格式化为带中横线的日期格式在ios系统上为NaN或者null
时间戳在ios上为NaN,例如:2019-04-01解决办法:将时间中的 - 替换为 /例如:2020/04/28这种格式才能正常显示filters: { formatYear (year) { let date = new Date(year.replace(/-/g, '/')) return formatYear(date) }}原创 2020-06-28 15:45:16 · 552 阅读 · 0 评论 -
js实现纯数字字符串转ip地址
给出一个字符串,完全由数字组成,输出在其中输入3个".“可以组成的所有合法的IP地址(例如:67890,可以组成"6.7.8.90”,“67.8.9.0”,“6.7.89.0”)function numIp(str){ for( let i = 1; i < 4 && i < str.length-2; i++){ for( let j = i+1;j < i+4 && j <str.length-1; j++){ for (let k原创 2020-05-29 10:01:18 · 982 阅读 · 0 评论 -
js解析地址栏参数中的k对应的value值
方法一var href = "http://www.hhaha.com?channel=12";function getQuery(key, url) { url = url || window.location.href + ''; if (url.indexOf('#') !== -1) { url = url.substring(0, url.indexOf('#')); } var rts = [], rt; var queryReg = new RegExp('(^|\\?|原创 2020-05-26 10:53:00 · 427 阅读 · 0 评论 -
JavaScript---递归深拷贝
var data = { list: [1, 2, 3, 4], fn: function () { alert(56789) }, listdate: [ { str: "8888" }, { arr: [{ txt: "alalal"...原创 2019-08-02 15:01:28 · 136 阅读 · 0 评论 -
请实现一个 uniq 函数,实现数组去重
实现一个 uniq 函数,实现数组去重原创 2019-08-05 14:41:54 · 1322 阅读 · 0 评论