gpt4 book ai didi

Javascript for 循环返回 "copy"作为值

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

我有一个开始为空的数组 - var currentChatSessions = [] ;

然后填充 - currentChatSessions[privateSessionID]=targetUser; (这是一个字符串,例如'myName')

我有一个遍历数组的函数 -

function checkExisting(from){//check for existing chats with that user
var oldId=0;
//*
for(var index in currentChatSessions) {
console.log('checkExisting index: ' + index);
console.log('checkExisting data: ' + currentChatSessions[index]);

if (currentChatSessions[index] == from){
oldId=index;
console.log('check Existing: ' + oldId);
}
break;

}
//*/
console.log('check existing oldId: ' + oldId);
return oldId;
};

并将其记录到控制台 - checkExisting index: copycheckExisting data: function (){var i=new Array();for(var I=0,l=this.length;I<l;I++){i[I]=this[I]}return i}

我知道字符串是作为变量传入的,因为我在其他地方调用它们,并返回正确的字符串。

为什么它会返回一个函数而不是一个字符串??

感谢帮助

最佳答案

for (var x in array) 将遍历设置为可枚举的数组上的所有属性,而不仅仅是数组元素。这可以包括方法,其值(value)将是可以解释您所看到的内容的代码。我猜你可能正在使用一些代码(库或代码)以一种使它们可枚举的方式将方法添加到你的数组。

您应该仅按从 0.length - 1 的索引迭代数组。有几种方法可以做到这一点,但经典的方法是:

for (var i = 0; i < array.length; i++)

关于Javascript for 循环返回 "copy"作为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12257550/

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