gpt4 book ai didi

javascript - 将类的所有元素的内容放入数组中。为什么我会收到这些错误消息

转载 作者:行者123 更新时间:2023-11-30 18:24:39 26 4
gpt4 key购买 nike

我正在尝试将具有特定类的所有 div 的文本加载到一个数组中,但是这

var temp = $('.theClass').text();
temp = temp.toArray();
console.log(temp);

一直报错

未捕获的类型错误:对象没有方法“toArray”

var tempArr = [];
var temp = $('.theClass').text();

for (var t in temp){

tempArr.push(t);
}
console.log(tempArr);

结果是一个数组,里面充满了对象中的许多对象,这些对象只是用整数填充。 screenshot of chrome console

有关如何正确执行此操作的说明,请参见 here ,但我想知道是否有人可以向我解释为什么会出现这些错误。谢谢!

最佳答案

您可以使用 map遍历匹配集合的每个元素并返回一些数据(在本例中为文本)。然后您可以使用 get将生成的 jQuery 对象转换为实际数组:

var arr = $('.theClass').map(function () {
return $(this).text();
}).get();

您的第一次尝试失败,因为 text 方法返回一个字符串,而字符串没有 toArray 方法(因此您的“对象没有方法”错误)。

您的第二次尝试失败了,因为您正在使用 for...in 循环遍历字符串。此循环遍历字符串的字符。每次迭代 t 都被分配了字符的索引,因此您最终得到一个数组,字符串中的每个字符都有一个元素。您永远不应该真正使用 for...in 循环来迭代对象属性以外的任何内容,即使那样,您也应该始终包含一个 hasOwnProperty 检查。

关于javascript - 将类的所有元素的内容放入数组中。为什么我会收到这些错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11209920/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com