嗨,stackoverflow用户,

我在高中学习javascript的基础知识,而在过去一周的时间里,我一直遇到其中一项作业的问题。

我创建了一个“程序” /站点,在其中输入了两个变量名称和年龄。这些变量进入两个不同的数组。 AgeArray和NameArray。

我被要求列出所有15岁以下的学生,例如:约翰14,哈里11等。

我的问题是我无法解决这个问题。如果我从AgeArray中获取所有15个以下的元素,那么我仍然会有充满名称的NameArray吗?

因此,为了解决这个问题,我尝试获取小于15的每个元素的索引变量,然后从NameArray获取相同的元素变量。但是肯定有一些更简单的方法可以做到这一点?!?注意,根据练习,我必须具有此处显示的数组。

任何对正确方向的建议都非常感谢!

编辑代码。

var AgeArray = [];
var NameArray = [];
var empty = "";
var empty1 = "";
var i;

function addStudent() {
var ageFromPage = document.getelemenetbyid("age").value;
var nameFromPage = document.getelementbyid("name").value;

var age = Number(ageFromPage); //(not sure if this is needed, didnt make any
difference when debugging)

nameArray.push(nameFromPage);
ageArray.push(age);

for (i = 0; i <= ageArray.length; i++) {
empty = empty + ageArray[i];
empty1 = empty1 + nameArray[i];
}
}
function students() {

//I was stuck here, but will try to move on with help already given.
//Actually just tried it with the help given and it seems to have solved the
//problem. CANT BELIEVE IT WAS THAT EASY :/
// - might consist typos - TY for your help!

}

最佳答案

使用两个数组是一种非常奇怪的方法,对象数组

[
    {name: 'John', age: 14},
    {name: 'Lucy', age: 11}
]


会更有意义。但是,如果您的分配需要它,则可以使用数组索引来引用另一个数组中的元素:



var names = ['John', 'Harry', 'Jane', 'Lucy'];
var ages = [14, 15, 12, 16];

ages.forEach(function(age, index) {
 if (age < 15) {
  console.log(names[index] + " " + ages[index]);
 }
});

关于javascript - 有关推进学校作业的建议,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47039592/

10-11 14:12