allRows[rowDiv.toString()] = rowDiv;
console.log('commence row' + allRows[rowDiv.toString()].phrases);
//not null
for(row in allRows) {
   console.log('for commence ' + row.phrases);
   //null
   console.log(row)
   //prints toString
}

rowDiv是一个具有“短语”属性的对象(我在其构造函数中将其定义为this.phrases = [],随后向其中添加了元素)。 allRows是一个包含所有rowDiv对象的对象(通过allRows [rowDiv.toString()]插入的对象= rowDiv)。 为什么“行”只给我toString而不是实际对象? 否则可能正在发生其他事情。

===============>>#1 票数:2

javascript中这种“ for each”循环的类型略有不同。 您必须执行以下操作:

for(row in allRows) {
   console.log('for commence ' + allRows[row].phrases);
   //null
   console.log(allRows[row])
   //no longer should print toString
}

===============>>#2 票数:1 已采纳

您只是在打印要查找的对象的

在您使用的字典中,您将toString()的结果用作键。

为了获得实际的对象,而不仅仅是toString()结果,您需要使用allRows[row]而不是row

因此,例如,通过此更改,您的代码将如下所示:

allRows[rowDiv.toString()] = rowDiv;
console.log('commence row' + allRows[rowDiv.toString()].phrases);
//not null
for(row in allRows) {
   console.log('for commence ' + row.phrases);
   //null
   console.log(allRows[row]); // CHANGE MADE HERE
   //prints toString
}

===============>>#3 票数:0

也可以使用for...of https://developer.mozilla.org/enUS/docs/Web/JavaScript/Reference/Statements/for...of

allRows[rowDiv.toString()] = rowDiv;
console.log('commence row' + allRows[rowDiv.toString()].phrases);
//not null
for(row of allRows) {
   console.log('for commence ' + row.phrases);
   //null
   console.log(row)
   //prints toString
}

  ask by michaelAdam translate from so

未解决问题?本站智能推荐:

1回复

在Angular中遍历对象时遇到麻烦

我正在编写Angular 10一个应用程序。 我正在传递JSON字符串。 我正在尝试将其转换为对象。 我收到编译器错误提示 “ inputObj”是不可迭代的。 代码是这样的: 我传递的数据是这样的: 我究竟做错了什么。 我敢肯定这是愚蠢的,但是我看不到它。
3回复

功能性Javascript:遍历具有嵌套对象和数组的对象时遇到麻烦

我在尝试访问如下结构的表中的数据时遇到困难。 我想要一种干净有效的方法,通过功能性Javascript方法访问嵌套数据。 如果有人能展示如何使用Ramda或纯ES6来实现此功能,将不胜感激! 请参见下面的示例表结构。 编辑 我正在使用React,我的最终目标是在表格组件内构
1回复

使用javascript在Spring MVC中循环对象时遇到麻烦

我是Spring和JSP编码的新手。 我只是想循环遍历使用javascript从spring控制器传递到我的JSP中的对象数组。 以下html代码可在我的JSP中完美运行,该模型将模型从spring控制器传递到jsp视图。 但是,我需要使用javascript而不是html遍历此数组
1回复

在Javascript xmlhttp对象中打开相对URL时遇到麻烦

我继承了在特定目录中没有分解的HTML / PHP / Javascript应用程序; 意思是,一切都在一个目录中。 我想清理和模块化目录结构,所以,我搬走了所有东西。 (* .inc文件移至“ Includes”文件夹,*。css文件移至“ CSS”文件夹,等等。) 自然,要进
2回复

在遍历数组对象以创建列表项时遇到麻烦

我能够遍历JSON数据来创建一个填充数字的数组,但是当我创建列表项时,它不起作用。 该组件仅呈现一个空列表。 当我在map函数之前console.log(ticketNumbers)时,它显示为折叠的Array [],直到我展开它为止(然后显示所有值)
3回复

在JavaScript中创建嵌套dom节点时遇到麻烦

我有一个将对象作为参数的函数,并使用对象的结构来创建嵌套的DOM节点,但是出现以下错误: 我希望函数执行的操作是,在将适当的对象作为参数提供时,例如: 它将创建以下DOM节点: 到目前为止,这是我的尝试: 我已经在挣扎了! 理想情况下,我想最终为每个对象添加
1回复

在javascript中实现quickSort时遇到麻烦

我在他选择第一个元素的地方使用了蒂莫西(Timothy)粗糙的花园分区,但是它并不是我想要的那样。 我在这里做错了什么? 我认为结尾已从原始结尾重新分配,我该如何停止
2回复

删除Javascript数组中的字符串时遇到麻烦

我无法理解下一步该怎么做。 以下代码删除了所有重复的数字,但我还需要删除字符串而不将其转换为数字。 我不确定如何进行...
3回复

使用If / else时在javascript中遇到一些麻烦

我正在通过Codecademy学习JavaScript。 在那里,我被要求做一个石头剪刀布游戏。 我通过编写以下代码来做到这一点: 但是后来我自己添加了一条代码,以停止无法选择的选项,例如是否有人选择了“鸡蛋” 检查我键入了“ dog”,但没有显示“ unavailable”
1回复

在JavaScript中解码URL时遇到麻烦

我使用php对url字符串进行urlencoding,然后通过curl将其传递给phantomjs脚本,在该脚本中我尝试使用javascript对其进行解码。 我开始: 变成: 在php上通过urlencode()函数。 在phantomjs方面,我有: 控制