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

JS对象数组

一  JS对象      在JS中一切事物都是对象,字符串,数值,数组,函数      对象中包含属性和方法 对象属性既可以存放基本数据类型也可以存放其他对象引用值或者函数引用值,如果存储是函数引用值则该属性称为方法...function(){ alert(this.name+"年龄"+this.age+"喜欢吃饺子") } //结果:宋江喜欢吃饺子 补充 可以用点符号访问对象属性值也可以通过数组方式...,即用["属性名称"]; 可以使用delete运算符删除对象属性 二   数组 数组创建方法 new关键字创建空数组 new关键字创建包含元素数组 new关键字创建指定元素个数数组 也可以使用[...(输出结果会转换成字符串) var arr2=new Array('苹果','葡萄','香蕉','桔子'); var str=arr2.toString();...alert(typeof(str)) //结果 数组逆序reverse:颠倒数组元素顺序;返回值为逆序后数组

7.3K20

JS 将伪数组转换成数组 🎄

本文简介 在 JS 中,伪数组 是非常常见,它也叫 类数组。伪数组可能会给 JS 初学者带来一点困扰。 本文将详细讲解 什么是伪数组,以及分别在 ES5 和 ES6 中将伪数组转换成真正数组 。...伪数组主要特征:它是一个对象,并且该对象有 length 属性 比如 let arrayLike = { "0": "a", "1": "b", "2": "c", "length":...除了 arguments 之外,NodeList 对象表示节点集合也是伪数组,比如通过 document.querySelectorAll 获取节点集合等。...转换 将伪数组转换成真正数组方法不止一个,我们先从 ES5 讲起。 ES5 做法 在 ES6 问世之前,开发者通常需要用以下方法把伪数组转换成数组。...arguments); console.log(args); } doSomething('一', '二', '三'); // 输出: ['一', '二', '三'] 复制代码 Array.from 主要作用就是把伪数组和可遍历对象转换成数组

2.6K20

js数组、json、js对象区别与联系

最近在敲代码时,遇上了一个关于JS数组问题,由此引发了关于对象和json联想,曾经觉得很畅顺知识点突然模糊了。于是,为了理清这些东西,有了如下这篇文章。...理清这些问题,第一步当然是找到他们概念:js所有事物都是对象:字符串、数值、数组、函数…此外,JavaScript允许自定义对象 (1)JS数组,常态为var a = [1,2,3]格式,用文字来形容就是一个有序数列...记得上面概念里,js所有事物都是对象,那么我们完全可以把json对象当做js对象子集,string只是js对象key数据类型中一个选项 额外说一点,js里面是没有键值对数组这一说,现有的这种键值对数组...(也即是关联数组)其实就是js对象,需要要自己去构造,如: var a = []; a.push({ value:value }); 当然,现在ES6已经有了专门表示键值对数组结构...a[1].name 都是可以使用类似于数组索引,但它实质是js对象object

9.3K40

JS 数组对象深拷贝

博客地址:https://ainyi.com/72 JavaScript 程序中,对于简单数字、字符串可以通过 = 赋值拷贝 但是对于数组对象对象数组拷贝,就有浅拷贝和深拷贝之分 浅拷贝就是当改变了拷贝后数据...a // { name: 'krry' } b // { name: 'lily' } --- 以上是简单数组对象深拷贝方法,但是对于二维数组对象数组对象里包含对象,以上方法均达不到深拷贝方法...以上只能达到数组对象第一层==深拷贝==,对于里面的数组对象属性则是==浅拷贝==,因为里面的内存地址只是拷贝了一份,但都是指向==同一个地址== 所以当改变数组对象数组元素或对象,原数据依然会改变...二维数组对象数组、多层对象深拷贝 最常用 JSON 序列化与反序列化 使用 JSON.parse(JSON.stringify(obj)) let a = [1, [2, {aa: 2}, [4...、undefined、symbol,则经过 JSON.stringify() 序列化后 JSON 字符串中这个键值对会消失 无法拷贝不可枚举属性,无法拷贝对象原型链 拷贝 Date 引用类型会变成字符串

8.2K30

JS中特殊对象-数组

所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。...1.1 数组创建 // 字面量方式创建数组 var arr1 = []; //空数组 // 创建一个包含3个数值数组,多个数组项以逗号隔开 var arr2 = [1, 3, 4]; // 创建一个包含...特别注意:JS中不像PHP,没有关联数组. 1.2 获取数组元素 // 格式:数组名[下标] 下标又称索引 // 下标从0开始 // 功能:获取数组对应下标的那个值,如果下标不存在,则返回undefined...var arr = ['red',, 'green', 'blue']; arr[0]; // red arr[2]; // blue arr[3]; // 这个数组最大下标为2,因此返回undefined...arr = [10, 20, 30, 40, 50, 60]; //假设这个变量中值是最大 var maxNum = arr[0]; //遍历数组 for (var i = 0; i < arr.length

9.1K00

js 数组对象深拷贝

但是诡异事情发生了,就是在我填写自己表单组件时候,一旦表单数据发生变化时,本来是formDataCopy值发生变化,但是‘formDataDefault值’ 这个字符串却被打印出来,也就是说...数组浅拷贝 (两者指向不同对象,但是只能拷贝一层) array.concat(); array.slice(0); 如果该元素是个对象引用 (不是实际对象),slice 会拷贝这个对象引用到新数组里...两个对象引用都引用了同一个对象。如果被引用对象发生改变,则新和原来数组这个元素也会发生改变,所以是浅拷贝。...也就是说,如果原数组改变是基本数据类型,比如String,Boolean,Number数据,不会影响到新数组; 但是如果改变对象或者数组数据,是会影响到新数组,也也就是对于对象或者数组,...新旧数组指向是一个对象

4.7K30

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

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

19.5K30
领券