- js实现对象for循环遍历赋值
- 2022年09月08日 浏览(199)
- let queryObj = { name: 小米, sex: 男, age: 23, tel: 13088888888, date: 2022-12-12}let _html = for(let k in queryObj){ _html += `${k}:${queryObj[k]}` + }document.getElementById(result).innerHTML = _html
- 阅读全文>>
- js判断中英文长度
- 2022年09月06日 浏览(57)
- function objLen(str) { if (str == null) return 0; if (typeof str != string) {str += ; } return str.replace(/[^\x00-\xff]/g, 01).length;} 调用方法 var arr1 = ABCD1234console.log(objLen(arr1)) //8var arr2 = 欢迎来到web建站教程网console.log(objLen(arr2)) //21
- 阅读全文>>
- js创建一个指定长度数组(根据数字显示数组长度)
- 2022年09月05日 浏览(177)
- 问题描述:给一个指定的数组,生成创建一个和数字大小一样的数组长度。下面介绍三种方法: for 、 Array.from 、 new Array ! 1、利用for循环生成指定长度数组 let arr = []let num = 10for (let i = 0; i num; i++) { arr[i] = i}console.log(arr, arr) 2、利用Array.from生成指定长度数组 Array.from({length:10},(value,key)=key+1)//key+1第一个开始数 3、利用new Array创建指定长度数组 let arr1 = new Array(10).join(,).split(,) //(10)[
- 阅读全文>>
- js两个数组是否存在重复的元素
- 2022年09月04日 浏览(105)
- js两个数组是否存在重复的元素?我们可以利用 set 对象的 has() 方法配合数组的 filter() 来进行判断。下面web建站给大家介绍几个例子。 代码如下: let a=[1, 2, 3];let b=[3, 5, 2];//将两个数组都转换为set集合类型newA = new Set(a);newB = new Set(b); //利用has()和filter()函数获取两个集合的交集let intersectionSet = new Set([...newA].filter(x = newB.has(x)));console.log(intersectionSet);//利用Array.from方法将集合转为数组
- 阅读全文>>
- js根据相同key合并生成子数组children(兼容ie10)
- 2022年08月31日 浏览(126)
- 需要兼容ie10 function handlerDatas(arr){ let tempArr = []; let resultData = []; for (let i = 0; i arr.length; i++) {if (tempArr.indexOf(arr[i].name) === -1) { resultData.push({name: arr[i].name,child: [arr[i]] }); tempArr.push(arr[i].name);} else { for (let j = 0; j resultData.length; j++) {if (resultData[j].name == arr[i].name) { resultData[j].child.push(arr[i]); break;} }} } return resultData}//把name改成需要合并的参数
- 阅读全文>>
- js最简单的数组去重方法
- 2022年08月31日 浏览(203)
- var arr = [ { "id": "200910760094", "isState": true, "ruleType": 1 }, { "id": "200910760094", "isState": true, "ruleType": 2 }, { "id": "200910760094", "isState": true, "ruleType": 1 }, { "id": "200910760094", "isState": true, "ruleType": 1 }]; var result = [];var obj = {};for(var i =0; iarr.length; i++){ if(!obj[arr[i].ruleType]){ result.push(arr[i]); obj[arr[i].ruleType] = true; }}console.log(result);
- 阅读全文>>
- 利用es6语法判断字符串是否为数字
- 2022年08月30日 浏览(115)
- 今天给大家介绍几种利用es6语法判断字符串是否为数字:1、利用 isNaN() 函数;2、利用 isFinite() 函数;3、利用 test() 函数和正则表达式。 1、利用isNaN()函数 console.log(isNaN(1)); // falseconsole.log(isNaN(12.3)); // falseconsole.log(isNaN(beline)); //trueconsole.log(isNaN(NaN)); // trueconsole.log(isNaN(undefined)); // true 2、利用isFinite()函数 console.log(isFinite(123)); // trueconsole.log(isFinite(beline)); //falseconsole.log(isFinite(NaN))
- 阅读全文>>
- es6语法怎么实现数组去重
- 2022年08月30日 浏览(58)
- 今天给大家介绍一下es6的三种去重方法。1、利用Set数据结构和扩展运算符...去重;2、利用Set数据结构和Array.from()去重。 1、利用Set数据结构和扩展运算符...去重 let arr=[张三,李四,万五,张三,0,1,2,1,A,B,C,D,A];let newArr=[...new Set(arr)];console.log(newArr);//(10)[张三, 李四, 万五, 0, 1, 2, A, B, C, D] 2、利用Set数据结构和Array.from()去重 let arr=[张三,李四,万五,张三,0,1,2,1,A,B,C,D,A];let newArr=Array.from(new Se
- 阅读全文>>
- javascript根据相同id合并形成child子数组(支持低版本浏览器)
- 2022年08月30日 浏览(125)
- var data = [ { date: 2022-08-30 11:30:00, id: 2105240010, pId: 222550 }, { date: 2022-08-30 11:30:00, id: 2105240010, pid: 222550 }, { date: 2022-08-30 08:00:00, id: 2105240012, pid: 222309 }] 方法: var dataInfo = {};data.forEach((item, index) = {var { id } = item;if (!dataInfo[id]) {dataInfo[id] = {id,child: []}}dataInfo[id].child.push(item);});var list = Object.values(dataInfo); // list 转换成功的数据console.log(输出结果, list) 输出结果: (2) [{}, {}]0: {id: 2105240010, chi
- 阅读全文>>
- javaScript数字格式化方法介绍
- 2022年08月29日 浏览(106)
- 功能介绍:利用 toLocaleString 方法实现数字格式化。具体操作方法如下: 1、数字分割成千分位: //默认显示千分逗号var nums = 12345667890nums.toLocaleString() //12,345,667,890//useGrouping: false属性不显示千分逗号var nums = 1234566789nums.toLocaleString(undefined, {useGrouping: false}) //1234566789 2、保留几位小数 //保留最少小数minimumFractionDigitsvar nums = 123456.6789nums.toLocaleString(undefined, {minimumFractionDigits: 6}) //123,45
- 阅读全文>>
- js把多维数组的子数组根据需求循环出来(一个父数组带一个子数组)
- 2022年08月28日 浏览(197)
- 功能介绍:默认数组形式是多维数组中嵌套多维子数组,想要的数组形式是多维数组中每个父数组中只带一个子数组,其他子数组依次循环出来! var data = [ {name:张三, child:[{id:1,edu:大学},{id:2,work:IT工程师},{id:3,state:未婚}]}, {name:李四, child:[{id:1,edu:高中},{id:2,work:拖拉机师},{id:3,state:已婚}]}]var data2 = []for(var i=0; idata.length; i++){ for(var j=0; jdata[i].child.length; j+=1){ data2.push({ id: (i+1).toString(
- 阅读全文>>
- JavaScript运用asyncAdd方法实现异步
- 2022年08月27日 浏览(200)
- JavaScript运用 asyncAdd 方法实现异步,下面给大家详细介绍一下实现思路! 思路分析: 考虑到外部参数长度不固定,使用剩余运算符接收所有传入的参数; 考虑到 asyncAdd 中的异步操作,将其封装为 Promise 的实现,即 caculate 函数; 考虑到 asyncAdd 实际只能一次接收两个数字进行计算,使用循环的形式将多个参数分别传入; 考虑到通过循环处理异步操作的顺序问题,使用 async/await 来
- 阅读全文>>
- js数组是NaN如何判断
- 2022年08月26日 浏览(205)
- 功能描述:因为项目中有规则判断,有时候数据会是 NaN ,这样赋值的时候会报错,那么如何排除数据是 NaN 第一种方法isNaN if(!isNaN(obj)){ //执行方法} 第二种方法内置isNaN function isNaN(n) { if (n !== n) { return true;}else { return false;}} 第三种方法object.is 方法 console.log(Object.is(a, NaN));console.log(Object.is(1, NaN));console.log(Object.is(NaN, NaN)); 第四种方法利用NaN是唯一一个不等于任何自身的特点 var a=Na
- 阅读全文>>
- javascript条件语句避坑法则
- 2022年08月22日 浏览(165)
- 作为一名程序员对条件判断语句应该不会陌生,本文给大家介绍一下一些优化点。 1、多重判断时使用 Array.includes var arr = [a,b,c,d]var obj = cconsole.log(arr.includes(obj)) 2、循环判断加入return 3、在JavaScript中我们总是需要检查 null / undefined的值和指定默认值 4、对象遍历不要用Switch语句,Map更简单 const fruitColor = new Map() .set(red, [apple, strawberry]) .set(yellow, [banana, pineapple]) .set(purple, [grape, plum])
- 阅读全文>>
- es6语法对数组进行简单操作
- 2022年08月22日 浏览(174)
- 本文介绍一个简单的es6语法,但不常用,它们分别是类数组转化、对象和数组转化。 类数组转化 Array.prototype.slice.call(arguments) //arguments是类数组(伪数组)Array.prototype.slice.apply(arguments)Array.from(arguments)[...arguments]//类数组:表示有length属性,但是不具备数组的方法//call,apply:是改变slice里面的this指向arguments,所以arguments也可调用数组的方法//Array.from是将类似数组或可迭代对象创建为数组//
- 阅读全文>>
- es6语法对数组的每一项进行设置
- 2022年08月22日 浏览(170)
- 本文给大家介绍一下用es6语法对数组的没一项进行设置。下面给大家介绍一下 fill 、 every 、 some 等。 利用fill进行每一项设置值 [1,2,3].fill(false) //[false,false,false]//fill是ES6的方法 利用every判断每一项是否满足 [1,2,3].every(item={return item2}) //false//every是ES5的api,每一项满足返回 true 利用some判断是否有一项满足 [1,2,3].filter(item={return item2}) //[3]
- 阅读全文>>
- es6语法如何简单处理数组
- 2022年08月22日 浏览(139)
- 本文介绍一些用es6语法对数组做一些基本操作,其中包括降维、去重、排序、取值、求和、合并等。 利用flat实现数组降维 [1,[2,3]].flat(2) //[1,2,3][1,[2,3,[4,5]].flat(3) //[1,2,3,4,5][1,[2,3,[4,5]]].toString() //1,2,3,4,5[1[2,3,[4,5[...]].flat(Infinity) //[1,2,3,4...n]//Array.flat(n)是ES10扁平数组的api,n表示维度,n值为Infinity时维度为无限大 利用set实现数组去重 Array.from(new Set([1,2,3,3,4,4])) //[1,2,3,4][...new Set([1,2,3,3,4,
- 阅读全文>>
- js动态批量生成二维码踩坑(前面的二维码没有删掉)
- 2022年08月22日 浏览(77)
- 问题描述:做一个批量打印功能,打印页面中需要动态生成二维码,如果打印完了不刷新页面接着点击第二次批量打印按钮出现二维码重叠。 代码如下: if (flrStr(document.getElementById(qrcode)) != ) { //打印前先删掉原先二维码 $(.print).eq(i).find(.qrcode img).remove() $(.print).eq(i).find(.qrcode canvas).remove() //生成二维码 $(.print).eq(i).find(.qrcode).qrcode({ text: qrCodeUrl, width: 135, height: 135 }); //把canvas转img v
- 阅读全文>>
- js如何实现复制页面内容的三种方法
- 2022年08月20日 浏览(91)
- 如何实现div内容的复制?下面web建站小编给大家介绍三种内容复制的方法。 1、利用Async Clipboard API实现 const promise = navigator.clipboard.writeText(newClipText);//需要注意,方法的返回值是个 Promise。并且使用此方法时,页面必须处于 focus 状态,否则会报错。 2、覆写 copy 事件 // Overwrite what is being copied to the clipboard.document.addEventListener(copy, function (e) { // e.clipboardData is initially empty, but we can se
- 阅读全文>>
- javascript数据根据第一个英文字母排序
- 2022年08月16日 浏览(102)
- 默认数组: var arr = [ {name:B北京,en:beijing,value:100}, {name:S上海,en:shanghai,value:200}, {name:T天津,en:tianjin,value:300}, {name:S深圳,en:shenzhen,value:400}, {name:C重庆,en:chongqing,value:500}] 调用方法: //可以根据name排序,也可以根据en排序arr.sort(function(a, b) { return a.name.localeCompare(b.name);}); 输出结果: (5) [{}, {}, {}, {}, {}]0: {name: B北京, value: 100}1: {name: C重庆, value: 500}2: {name: S上海, value: 200}3: {name: S深圳, va
- 阅读全文>>