gpt4 book ai didi

javascript - 如何计算一个项目在数组中的次数

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:23:10 25 4
gpt4 key购买 nike

我决定从头开始再试一次,因为我现在清醒了一点,并逐步构建它。我看过一些答案,似乎有很多方法可以解决这个问题。我正在尝试使用到目前为止所学的知识来做到这一点。我了解了变量、基本函数、对象、数组、“this”和 push 方法。我知道 for、while、do while、for in 循环,尽管我最了解 for 循环。

这是我构建它的新方法,我知道它不必要地长,但我希望能够基本了解如何以非常简单的方式将我学到的不同东西拼凑在一起。这更多是关于学习如何构建简单程序。然后我会继续对程序进行微调,使其更加简洁和巧妙。如果你能看一看并告诉我我将如何处理我目前所拥有的...

这是代码,理想情况下,当有新的“访客”询问他们的姓名和电话号码时,我想运行一个函数。然后使用给定的名称和编号创建一个新的“客户”对象,并将其推送到“访问者”数组。一旦我成功地弄清楚了这一点,我就会使用循环来检查数组是否是新访客,并在他们每次来时更新他们的访问次数。

//array that will contain 'Customer' objects
var visitors = [john];

//Customer object
function Customer(name, phonenumber){
this.name = name;
this.phonenumber = phonenumber;
//will eventually add a "visits" method logging number of visits

}

var john = new Customer("john smith", "333");

//visitor funtion that runs everytime there is a new visitor
var visitor = function(){

//visitor does not have a set name or number yet
var userNumber = "variable userNumber is currently equal to " + 0;
var userName = "variable userName is currently set to " + undefined;
console.log(userName, userNumber);

//ask for visitor name and number
var askNumber = prompt("type your number");
var askName = prompt("what is your name?");

//store user name and number in two variables
var userNumber = "variable 'userNumber' is now equal to " + askNumber;
var userName = "variable userName is now set to " + askName;

//print out the new variables
console.log(userNumber);
console.log(userName);

//print who the phone number belongs to, this lets me see that the above code worked correctly
var userNumber = askNumber;
var userName = askName;
console.log("Phone number " + userNumber + " belongs to " + userName);

//make new customer object with the given name and number
var userNumber = new Customer();
userNumber.name = askName;
userNumber.phonenumber = askNumber;

console.log("properties of " + userNumber);

};

最后一位返回“[object, object] 的属性”为什么?

最佳答案

你不仅把自己弄糊涂了,还把浏览器弄坏了! :-)

(for 循环永远不会终止,因为您在每次迭代时都会将新值推送到列表。)

我可以更详细地告诉您代码有什么问题,但是如果您自己追查代码,您会学到更多。因此,您现在需要的是学习调试的艺术。

test() 函数的开头添加一个 debugger 语句:

var list = ["111", "222", "333", "444", "555", "666"];

var test = function(input){
debugger;
var info = prompt("hi " + input + " what is your name?");
for(i=0; i< list.length; i++){
if( info === list.length[i]){
console.log(list[i]);
}
else{
list.push(info);
}
console.log(list);
}

}

现在运行 test() 它将在调试器中停止在该语句处。查看调试器中的不同面板 - 您可以查看变量和其他内容。找到它具有控件的位置,让您逐步执行代码。单步执行代码并在执行过程中查看变量。您很快就会发现问题所在。在大多数浏览器中,还有键盘快捷键,可让您更轻松地逐步执行代码。

如果您使用 Chrome,这里是一个 introduction to the Chrome DevTools .其他浏览器也有类似的教程。

关于javascript - 如何计算一个项目在数组中的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30092446/

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