JS
JS
乡村程序yuan
这个作者很懒,什么都没留下…
展开
-
JS深拷贝(deepClone)比较实用的两种方法
分享下js深拷贝对象,两种最常用、最实用的方法方法1、递归遍历对象的属性,返回一个新的对象// 这里有两种写法,都可用const obj1 = { name: 'wang', f: function() {}, tar: { name:'Jason', age: 18 }}function deepClone(obj) {// 写法1 // let newObj = obj.constructor === Array ? [] : {} // if(typeof obj !=原创 2022-05-10 14:40:48 · 4088 阅读 · 0 评论 -
数组对比,取出不同的值
1、比较两个数组中的值是否相同(该方法比较不了数组中的对象)代码如下:const arr1 = [11,22,33]const arr2 = [11,22,33]const result = arr1.length === arr2.length && arr1.every(a => arr2.some(b => a === b)) && arr2.every(_b => arr1.some(_a => _a === _b));2、取原创 2022-03-08 18:01:15 · 4016 阅读 · 0 评论 -
遍历对象的属性--两种方法供参考
遍历对象的属性如下两种方法:第一种 for…in:let obj = {a:1,b:‘No’,c:true}function format(object) {let params = {};for(const key in object){if(object.hasOwnProperty(key)){params [key] = object[key]}}console.log(params)}调用: format(obj)第二种方法 for…of + Object.en原创 2020-10-29 11:33:06 · 395 阅读 · 0 评论 -
有用的JS时间格式化
代码如下:formatTime(data) {const year = new Date(data).getFullYear();const month = new Date(data).getMonth() + 1;const day = new Date(data).getUTCDate();const hours = new Date(data).getHours();const minutes = new Date(data).getMinutes();return ${year}/$原创 2020-09-10 13:53:47 · 65 阅读 · 0 评论 -
数组转换为键值对--精准!
let arr = [{name: “Jack”,sex: “”},{name: “Lace”,sex: “”}]取数组中的name属性,整合为一个新的数组arr = arr.map(item => {return { label: name, value: name};});原创 2020-09-02 08:54:14 · 1315 阅读 · 0 评论 -
数组赋值之深浅拷贝
var arr = arr1(这里arr都为数组----浅拷贝)解释:把arr1的值赋值给arr,它们的内存地址都是一样,如果在提交数据时,对此数组进行改变,会改变它的内存地址,既会改变数组原有的值改变的代码:if (arr.length !== 0) {arr.map(r => {if (r.teamUser) {r.teamUser = r.teamUser.join(",");} else {r.teamUser = “”;}});}这里改变了arr的值,上面所的,arr原创 2020-09-02 08:46:01 · 340 阅读 · 0 评论