JS数组与对象赋值问题

在W3C的在线编程中经过测试发现以下问题:

当一个数组内部元素为对象时,给数组赋值应该先给对象赋值,然后把该对象push到数组中。

如下所示:

在控制台打印之后的数据格式为下图所示:

如果在给数组赋值的时候直接给对象赋值则会报错,如下所示:

以上是在W3C的测试结果。下面是本人在开发过程中因为同样的原因导致的CSS样式不应用的错误。

当通过循环直接向每个数组元素的独享赋值的时候,在控制台打印出的数据格式如下:

而当通过先给对象赋值,然后把对象 push 进数组的方式得到的数据格式如下:

原文地址:https://www.cnblogs.com/edward-life/p/11311287.html

时间: 2024-11-05 14:56:08

JS数组与对象赋值问题的相关文章

js数组的拷贝赋值复制二三事总结

今天在看React-native性能优化的时候,看到如何避免shouldComponentUpdate的异常数据时,脑内一阵风暴,从而牵连出一连串的问题,于是有了这一篇关于js数组的复制(深浅拷贝)与赋值等为何能产生异常数据的文章. 有什么问题欢迎指正 现在进入正题: 首先异常数据的产生在于我们在复制赋值时,会有或没有改变到本身的值. 一.push与concat push的定义是:像数组末尾添加一个或更多元素,并返回新的长度.该方法会改变数组的长度. concat的定义是:连接两个或更多的数组,

js 数组和对象的复制

js数组复制可以利用数组的合并方法concat()会返回一个新数组的特征 来实现复制 例如 var a=[1,2,3]; var b= a.concat(); 利用 slice()也可以, 返回的也是一个新数组. 对象的深度复制可以采用自定义回调函数实现 function clone(myObj){ if(typeof(myObj) != 'object') return myObj; if(myObj == null) return myObj; var myNewObj = new Obje

js 数组、对象转json 以及json转 数组、对象

1.JS对象转JSON 方式:JSON.stringify(obj) var json = {"name":"iphone","price":666}; //创建对象: var jsonStr = JSON.stringify(json); //转为JSON字符串 console.log(jsonStr); 2.JS数组转JSON //数组转json串 var arr = [1,2,3, { a : 1 } ]; JSON.stringify(

JS数组与对象的遍历方法大全

本文简单解析各种数组和对象属性的遍历方法: 原生for循环.for-in及forEach ES6 for-of方法遍历类数组集合 Object.key()返回键名的集合 jQuery的$.each() underscore的_.each() 文中的范例基于以下数组和对象. ? 1 2 3 4 5 6 7 8 var arrTmp = ["value1","value2","value3"]; var objTmp = {     aa:"

js 数组与对象的区别

学习javascript的时候,我曾经一度搞不清楚”数组”(array)和”对象”(object)的根本区别在哪里,两者都可以用来表示数据的集合. 比如有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3:4},然后你运行alert(a[1]),两种情况下的运行结果是相同的!这就是说,数据集合既可以用数组表示,也可以用对象表示,那么我到底该用哪一种呢? 我后来才知道,数组表示有序数据的集合,而对象表示无序数据的集合.如果数据的顺序很重要,就用数组,否则就用对象. 当然,

原创-整理了下常用的js数组 、对象、数字、字符串的操作方法

终于整理好了...主要是一些常用的函数,包含es6和es5的所有常用的,吧一些不常用的全部砍掉,省的大家看的费事.发现这个到博客上面有点乱.给个百度云地址:https://pan.baidu.com/s/1MwMdW5P8IOoyGRYUQ2dBtQ 直接下就可以 字符串方法 : es6 include 返回布尔值,表示是否找到了参数字符串. 第二个参数表示开始搜索位置 startsWith 返回布尔值,表示参数字符串是否在原字符串的头部. 第二个参数表示开始搜索位置 endsWith 返回布尔

js 数组转对象 对象转数组

数组转对象 对象转数组 原文地址:https://www.cnblogs.com/xy1996/p/11826740.html

js中js数组、对象与json之间的转换

在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }';JSON对象:var str2 = { "name": "cxh", "sex": "man"

C/C++,Java,PHP,JavaScript,Json数组、对象赋值时,最后一个元素后面是否可以带逗号?

1 C,C++,Java,PHP都能容忍末尾的逗号 C,C++,Java中对数组赋值时,最后一个元素末尾的逗号可有可无.下面两行代码对这些语言来说是等效的. int a[] = {1,2,3}; /* 正确 */ int a[] = {1,2,3,}; /* 正确 */ PHP这一点也继承了C的特点,下面的两行代码等效. $a = array(1,2,3); /* 正确 */ $a = array(1,2,3,); /* 正确 */ 2 JavaScript视末尾逗号为语法错误! 然而到了Jav