[英]How to fill an array with a for loop?
我在学习如何使用for
循环填充新变量时遇到很多麻烦。 例如,如果我有var year = [2010, 2000, 1992];
和var age = [];
。
如何使用for
循环填充age变量?
如果这是一个不好的例子,请不要使用它。 我只想了解一些如何填充空数组的帮助。
var names = ["Ace", "yoshi", "Lassie"]; var age = [25, 23, 5]; var u24 = []; for (var i = 0; i < names.length; i++) { if ([age] < 24) { u24 += age[i] console.log("hello " + names + " " + "you are" + age); } }
最好创建包含相关数据的对象。 将name
和age
到一个人对象中会有所帮助。
var persons = [ { name: "Ace", age: 25 }, { name: "yoshi", age: 23 }, { name: "Lassie", age: 5 } ]; var u24=[]; for (var i =0; i < persons.length; i++) { var person = persons[i]; if(person.age < 24){ u24.push(person.age); console.log("hello " + person.name + " " + "you are " + person.age); } } console.log(u24);
但是您也可以像这样使用forEach
:
var persons = [ { name: "Ace", age: 25 }, { name: "yoshi", age: 23 }, { name: "Lassie", age: 5 } ]; var u24=[]; persons.forEach( function(person) { if(person.age < 24){ u24.push(person.age); console.log("hello " + person.name + " " + "you are " + person.age); } } ); console.log(u24);
通过使对象包含所有相关数据,您的循环将永远不会失去同步。 如果您从persons
数组中删除人员,则其name
和age
将一起显示。
更新:使用过滤器
var persons = [ { name: "Ace", age: 25 }, { name: "yoshi", age: 23 }, { name: "Lassie", age: 5 } ]; var youngPersons = persons.filter( function(person) { return (person.age < 24); } ); console.log(youngPersons);
或使用ES6箭头功能
var persons = [ { name: "Ace", age: 25 }, { name: "yoshi", age: 23 }, { name: "Lassie", age: 5 } ]; var youngPersons = persons.filter((person) => person.age < 24); console.log(youngPersons);
这将Age under 24
条件提供一系列与您的Age under 24
相匹配的人。
如果您要做的只是用循环填充age数组,则可以尝试以下操作:
let years = [2010, 2000, 1992], age = [], d = new Date().getFullYear(); years.forEach(year => age.push(d - year)); console.log(age);
关于年龄和名字之间的关系,我认为Intervalia对此做了解释。
工作版本。 请将其与您的代码进行比较以查看差异。 刚开始时,数组总是让我着迷,尽管使用了方括号符号,但跨语言的语法却有所不同。AutoIt语言仍然使我感到困惑:P
var names = ["Ace", "yoshi", "Lassie"];
var age = [25, 23, 5];
//Use array.push() to append values
var u24 = [];
//variable i counts up to names.length
//because i++ means 'add one' to i
for (var i = 0; i < names.length; i++) {
//if ([age] < 24) {u24 += age[i];
//age at the count 'i' (which is
//counting)
//is achieved by array[at_index]
if (age[i] < 24) {
u24.push(age[i]); //add it to the end
console.log("Hello " + names[i] +
", you are " + age[i]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.