JavaScript/jQuery
前端--JavaScript/jQuery方面的知识及遇到的问题
w-somebody
这个作者很懒,什么都没留下…
展开
-
JavaScript 根据目录路径转为目录结构
JavaScript 根据目录路径转为目录结构原创 2023-02-28 19:31:04 · 1306 阅读 · 0 评论 -
JavaScript中怎么将多维数组进行降维(抹平)为一维
考题:在JavaScript中,如何将多维数组转化为一维数组,例如 [1, [ 2, [ 3, [ 4 ] ] ] ] 转为 [1, 2, 3, 4]。你想到几种方式呢?① 最先想到的就是数组的flat方法: arr.flat(Infinity)var arr = [1,[2,[3,[4]]]]var res = arr.flat(Infinity) // [1, 2, 3, 4]② 使用 arr.toString() + arr.split()方法。该方法缺点是会将数组中的值转为String类原创 2022-05-13 15:17:43 · 343 阅读 · 0 评论 -
前端 图片下载
图片下载是项目开发过程中经常提到的需求点,本文对以往用过,见过的图片下载方法进行一个汇总,如果后面有遇到,会继续进行补充一、如果后台直接给的图片下载地址 URL。如后台给的图片下载地址为:http://hrmanage-test.edtsoft.com/hr-manage-admin/aaa/bbb/export/test.png方式1: 直接使用 HTML的 a 元素进行图片的下载<a href="http://hrmanage-test.edtsoft.com/hr-manage-adm.原创 2022-01-28 17:52:15 · 1530 阅读 · 1 评论 -
JavaScript 的一维简单数组去重
方式1:利用 Array.from + Set 的唯一性特质const arr = [1, 2, 4, 5, 2, 3, 1, 3, 4, 6, 7, 4, 5, 9]const newArr = Array.from(new Set(arr))方式2:利用 展开运算符(…) + Set 的唯一性特质const arr = [1, 2, 4, 5, 2, 3, 1, 3, 4, 6, 7, 4, 5, 9]const newArr = [...new Set(arr)]方式3:forEac原创 2022-01-26 18:03:08 · 745 阅读 · 0 评论 -
javascript 的 数组的 every() 和 some() 简单理解
every(): 一假即假遍历数组的元素,只要有一个是假的,那就返回 falseconst arr = [10, 20, 30, 40]// 检测数组,是否数组所有元素的值都大于 15arr.every((item, index) => { return item > 15})some(): 一真即真遍历数组的元素,只要有一个是真的,那就返回 trueconst arr = [10, 20, 30, 40]// 检测数组,是否数组有哪个元素的值大于 34arr.so原创 2022-01-26 17:05:45 · 88 阅读 · 0 评论 -
前端 文件(文档、excel等)下载
文件下载是项目开发过程中经常提到的需求点,本文对以往用过,见过的文件下载方法进行一个汇总,如果后面有遇到,会继续进行补充一、直接通过后台给的链接URL进行文件的下载,如后台给的文件下载地址为:http://hrmanage-test.edtsoft.com/hr-manage-admin/aaa/bbb/export/test.xlsx方式1: 直接使用 HTML的 a 元素进行文件的下载<a href="http://hrmanage-test.edtsoft.com/hr-manage-.原创 2022-01-26 11:30:05 · 365 阅读 · 0 评论 -
比较两个数组,找出不一样的数据组成新数组
1、现在有两个数组let arr1 = [1, 2, 3, 4, 5, 6,7]let arr2 = [1, 2, 3, 4]2、期望 arr1 和 arr2比较之后,得到新数组,如下:let newArr = [5, 6,7]3、实现// 方式1let arr1 = [1,2,3,4,5]let arr2 = [1,2,3,4]let res = []res.push( arr1.filter(item => { return !arr2.includes(item原创 2022-01-20 16:08:28 · 9383 阅读 · 1 评论 -
两个数组对象,比较后取出不同项变成新数组
1、现有两个数组 let arr1 = [ {name: 'bob1', age: 11}, {name: 'bob2', age: 12}, {name: 'bob3', age: 13}, {name: 'bob4', age: 14}, {name: 'bob5', age: 15}, {name: 'bob6', age: 16}, {name: 'bob7', age: 17}, ] let arr2 = [ {name: 'bob1', age: 11},原创 2022-01-20 15:16:53 · 811 阅读 · 0 评论 -
报错:Warning: To load an ES module, set “type“: “module“ in the package.json or use the .mjs extension
在学习ES6的过程中,和运行javascript文件时进行了报错,具体重现1、新建文件加夹test-es,使用IDEA进行打开文件夹2、添加package.json文件: npm init -y3、在文件夹test-es中新建 test.js文件,里面的内容如下let a = 1111let b = 2222var c = function(){ console.log(3333)}function ddd(){ console.log(4444)}function eeeeee5(原创 2021-12-29 17:53:32 · 24651 阅读 · 1 评论 -
切割数组或字符串(slice, substring, substr, splice)--JavaScript
目录1、substr(开始位置,长度)2、substring(开始位置, 结束位置)3、slice(开始位置,结束位置)4、splice(开始位置,长度 , 插入值1, 插入值2,...)1、substr(开始位置,长度)1、只操作字符串2、不改变原字符串3、开始位置必填4、截取结果包含 “开始位置”var str = "0123456789"console.log(str.substr(1,5)) // "12345" length为55、开始位置 < 0 :开原创 2021-11-24 17:28:01 · 2187 阅读 · 0 评论 -
JavaScript判断对象是否为空对象
1、使用jsonlet obj1 = {}, obj2 = {name: 'bob'}const isEmpty = JSON.parse()let isEmpty1 = JSON.stringify(obj1) === '{}' // isEmpty1 -> truelet isEmpty2 = JSON.stringify(obj2) === '{}' // isEmpty2 -> false2、使用forIn循环let obj1 = {},obj2 = {name: 'bob原创 2021-11-19 09:38:56 · 310 阅读 · 0 评论 -
JavaScript的API文档自动生成工具jsdoc
一、概述:jsdoc是JavaScript的API文档自动生成工具二、非项目中使用:1、全局安装jsdocnpm install -g jsdoc2、创建js ,命名为2.js,内容如下:/** * HelloWorld类存储一位客人的名字,并打招呼。 */class HelloWorld { constructor(){ this.firstNa...原创 2019-08-14 11:31:47 · 1313 阅读 · 0 评论 -
JSON.stringify、JSON.parse、toString、String
一、区别:JSON.stringify()是将js对象转换为JSON字符串,JSON.parse()的作用与它相对,是将JSON字符串转为一个对象,使用JSON.parse()时要注意你要转换的字符串必须符合JSON格式,即键值都必须使用双引号包裹起来,否则会报错。二、JSON.stringify的用处1、判断数组中是否包含对象 let data = [ {name...原创 2020-03-25 09:07:48 · 458 阅读 · 1 评论 -
JS实现深拷贝的方法
方法一:遍历对象,将值进行重新复制给新对象function deepClone(obj){ let objClone = Array.isArray(obj)?[]:{}; if(obj && typeof obj==="object"){ for(key in obj){ if(obj.hasOwnProperty(key...原创 2020-03-25 08:59:29 · 159 阅读 · 0 评论 -
从JavaScript角度谈谈深拷贝与浅拷贝
如何区分深拷贝与浅拷贝,举个例子来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝;如果B没变,那就是深拷贝。在JavaScript中如果要解释这两种拷贝方式,就得先说说其数据类型了。一、JavaScript的的数据类型大体上来讲有基本类型和引用类型,他们各自又分别有以下的几种:1、基本类型:string、number、symbol、null、und...原创 2020-03-25 08:49:12 · 119 阅读 · 0 评论 -
js中的null和undefined区别
作为JavaScript的基本数据类型,null和undefined常常让我们这些初始JavaScript的人摸不着头脑,下面就是我对它们之间的异同进行了整理,以此来巩固自己对它们的认识一、相同点:1、都是原始类型的值,且保存在栈中变量本地2、进行条件判断时,两者都是false:console.log(undefined == null);//true ECMAScript认为un......原创 2019-11-15 17:21:50 · 12634 阅读 · 8 评论