草庐IT

【leetcode】学了栈和队列却觉得无用武之地?试试这几道题目吧!

 目录0.写在前面1.leetcode.20有效的括号2.leetcode.225用队列实现栈3.用栈实现队列4.设计循环队列0.写在前面这些题目所用语言为C语言,由于C语言未提供栈和队列的数据结构,所以需要我们手动实现栈和队列。此外熟练掌握栈和队列的性质对解题尤为重要。如果忘记了栈和队列的使用方法可在此直接跳转到栈和队列详解篇。<栈>的概念&结构&实现【C语言版】http://t.csdn.cn/lqe2X<队列>的概念&结构&实现【C语言版】http://t.csdn.cn/iXiZI1.leetcode.20有效的括号OJ链接:有效的括号(点此跳转)解题思路:遍历字符串,如果碰到'('或

【JS专栏】JS对象的浅拷贝与深拷贝

浅拷贝自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这个内存中的地址,肯定会影响到另一个对象。​1.object.assignobject.assign是ES6中object的一个方法,该方法可以用于JS对象的合并等多个用途,其中一个用途就是可以进行浅拷贝。该方法的第一个参数是拷贝的目标对象,后面的参数是拷贝的来源对象(也可以是多个来源)。​object.assign的语法为:Object.assign(target,…sources)consttar

【JS专栏】JS对象的浅拷贝与深拷贝

浅拷贝自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这个内存中的地址,肯定会影响到另一个对象。​1.object.assignobject.assign是ES6中object的一个方法,该方法可以用于JS对象的合并等多个用途,其中一个用途就是可以进行浅拷贝。该方法的第一个参数是拷贝的目标对象,后面的参数是拷贝的来源对象(也可以是多个来源)。​object.assign的语法为:Object.assign(target,…sources)consttar

threeJs 模型obj和mtl格式转gltf格式并压缩

threeJs中,模型obj和mtl格式转gltf格式并压缩这里需要下载一些文件,文件位置可以按照我这个放好,也可以自己放。总共需要lib文件夹,里面包含很多js,还有一个obj2gltf.js文件下载请点前往下面网址,0资源分享的:https://download.csdn.net/download/a_yingying/86539507下载完成后1.在public里面建立modules文件夹2.创建gltf文件夹3下载上面提供的lib文件夹和obj2gltf.js4.把objmtl文件放在gltf文件夹里面1.安装依赖npminstall--saveobj2gltfnpminstallgl

threeJs 模型obj和mtl格式转gltf格式并压缩

threeJs中,模型obj和mtl格式转gltf格式并压缩这里需要下载一些文件,文件位置可以按照我这个放好,也可以自己放。总共需要lib文件夹,里面包含很多js,还有一个obj2gltf.js文件下载请点前往下面网址,0资源分享的:https://download.csdn.net/download/a_yingying/86539507下载完成后1.在public里面建立modules文件夹2.创建gltf文件夹3下载上面提供的lib文件夹和obj2gltf.js4.把objmtl文件放在gltf文件夹里面1.安装依赖npminstall--saveobj2gltfnpminstallgl

js中对象数据类型的深拷贝方法(5种)

目录一、使用JSON暴力转换二、使用拓展运算符+解构赋值三、使用对象的合并,即通过Object.assign()方法四、通过遍历对象五、利用循环递归一、使用JSON暴力转换        通过JSON.stringify()和JSON.parse()将对象转为字符串之后在转为对象。varobj={name:'123'};varobj2=JSON.parse(JSON.stringify(obj))二、使用拓展运算符+解构赋值    该方法的局限性在于,当值为undefined、function、symbol会在转换过程中被忽略。varobj={name:'123',age:13};varobj

js中对象数据类型的深拷贝方法(5种)

目录一、使用JSON暴力转换二、使用拓展运算符+解构赋值三、使用对象的合并,即通过Object.assign()方法四、通过遍历对象五、利用循环递归一、使用JSON暴力转换        通过JSON.stringify()和JSON.parse()将对象转为字符串之后在转为对象。varobj={name:'123'};varobj2=JSON.parse(JSON.stringify(obj))二、使用拓展运算符+解构赋值    该方法的局限性在于,当值为undefined、function、symbol会在转换过程中被忽略。varobj={name:'123',age:13};varobj

前端面试题每日3题——2022-09-04

每日3题16以下代码执行后,控制台中的输出内容为?leta={n:1};letb=a;a.x=a={n:2};console.log(a.x);console.log(b.x);17以下代码执行后,控制台中的输出内容为?leta={};letb="123";letc=123;a[b]="b";a[c]="c";console.log(a[b]);18以下代码执行后,控制台中的输出内容为?functionuser(obj){obj.name="aaa";obj=newObject();obj.name="bbb";}letperson=newObject();user(person);conso

前端面试题每日3题——2022-09-02

每日3题10以下代码执行后,控制台中的输出内容为?varobj={a:1,};((obj)=>{console.log(obj.a);obj.a=3;varobj={a:2,};console.log(obj.a);})(obj);console.log(obj.a);11以下代码执行后,控制台中的输出内容为?functionFun(){}Fun.prototype.a=1;letf1=newFun();Fun.prototype={b:2,c:3,};letf2=newFun();Fun.prototype.d=4;console.log(f1.a);console.log(f1.b);co

【面试题】js 问号(?)的强大之处,你知道吗??

问号(?)的强大之处点击打开视频讲解更加详细一、问号点(?.)obj:{name:"末晨曦吖",},console.log(this.obj.age,"年龄");//undefinedconsole.log(this.obj.hobby,"爱好");//undefinedconsole.log(this.obj.age.data,"年龄");//报错console.log(this.obj.hobby.data,"爱好");//报错我们都知道第二个代码中打印的年龄和爱好是会报错的,因为我们在打印age和hobby时都已经是undefined的了,在undefined中有打印data属性肯定是没