首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS对象数组

    一  JS对象      在JS中一切事物都是对象,字符串,数值,数组,函数      对象中包含属性方法 对象的属性既可以存放基本数据类型也可以存放其他对象的引用值或者函数的引用值,如果存储的是函数的的引用值则该属性称为方法...function(){ alert(this.name+"年龄"+this.age+"喜欢吃饺子") } //结果:宋江喜欢吃饺子 补充 可以用点符号访问对象属性值也可以通过数组的方式...,即用["属性名称"]; 可以使用delete运算符删除对象的属性 二   数组 数组的创建方法 new关键字创建空数组 new关键字创建包含元素的数组 new关键字创建指定元素个数的数组 也可以使用[...读取数据:可以使用索引查询获取数组元素添加数组元素 添加数据:使用push方法将新元素添加到数组尾部....第一参数为起始位置索引 第二参数为结束位置索引,不包括第二个参数 ,注意区分splice 若省略第二个参数则直接切取到结尾 var arr=new Array(

    7.3K20

    js 数组对象深拷贝

    经过一番挣扎,才发现formDataCopy使用的是简单的赋值,导致formDataCopyformData指向相同的对象。 formDataCopy一改变,formData就会跟着变。...以上是背景,所以我就对浅拷贝深拷贝进行了总结: 浅拷贝 什么是浅拷贝:两者是指向一个对象对象的浅拷贝 1、对象的直接遍历赋值。...两个对象引用都引用了同一个对象。如果被引用的对象发生改变,则新的原来的数组中的这个元素也会发生改变,所以是浅拷贝。...也就是说,如果原数组改变的是基本数据类型,比如String,Boolean,Number的数据,不会影响到新数组; 但是如果改变的是对象或者数组中的数据,是会影响到新数组的,也也就是对于对象或者数组,...新旧数组指向的是一个对象

    4.7K30

    js中map遍历数组对象_js遍历数组

    forEach()map()都是遍历数组的方法,用法类似,但是还是有很大区别: 相同点:       1.都是循环遍历数组中的每一项;       2.在遍历中执行匿名函数都可以接收三个参数,分别为...不同点:       map():       根据遍历执行的匿名函数,对于原数组中的每个值产生一个对应的值,并返回一个新的数组,存在一个映射关系,并且不会改变原数组,不会对空数组进行检测。...arr.forEach(function(i,index,arr){ sum += i; console.log("sum的值为:",sum); }) //执行5次,最终结果 10 ** js...中 map 遍历数组 ** map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组。...注意,这个方法不会改变原始数组。 在我们的例子中,回调函数只有一个参数,即数组中元素的值 (val 参数) ,但其实,你的回调函数也可以支持多个参数,譬如:元素的索引index、原始数组arr。

    19.6K30

    JS 数组对象的深拷贝

    博客地址:https://ainyi.com/72 JavaScript 程序中,对于简单的数字、字符串可以通过 = 赋值拷贝 但是对于数组对象对象数组的拷贝,就有浅拷贝深拷贝之分 浅拷贝就是当改变了拷贝后的数据...b.push(4) a // [1, 2, 3] b // [1, 2, 3, 4] slice() 数组方法 slice() 可从已有的数组中返回选定的元素 那么设置为 0,就是返回整个数组 let...、对象的深拷贝方法,但是对于二维数组对象数组对象里包含对象,以上方法均达不到深拷贝方法 以上只能达到数组对象的第一层的==深拷贝==,对于里面的数组对象属性则是==浅拷贝==,因为里面的内存地址只是拷贝了一份...,但都是指向==同一个地址== 所以当改变数组对象里的数组元素或对象,原数据依然会改变 二维数组对象数组、多层对象的深拷贝 最常用的 JSON 序列化与反序列化 使用 JSON.parse(JSON.stringify...拷贝 RegExp 引用类型会变成空对象 对象中含有 NaN、Infinity -Infinity,则序列化的结果会变成 null 无法拷贝对象的循环应用(即 objkey = obj) 自己实现深拷贝方法

    8.2K30
    领券